📄 dmusici.h
字号:
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/* IDirectMusicSegment */
STDMETHOD(GetLength) (THIS_ MUSIC_TIME* pmtLength) PURE;
STDMETHOD(SetLength) (THIS_ MUSIC_TIME mtLength) PURE;
STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
STDMETHOD(SetRepeats) (THIS_ DWORD dwRepeats) PURE;
STDMETHOD(GetDefaultResolution) (THIS_ DWORD* pdwResolution) PURE;
STDMETHOD(SetDefaultResolution) (THIS_ DWORD dwResolution) PURE;
STDMETHOD(GetTrack) (THIS_ REFGUID rguidType,
DWORD dwGroupBits,
DWORD dwIndex,
IDirectMusicTrack** ppTrack) PURE;
STDMETHOD(GetTrackGroup) (THIS_ IDirectMusicTrack* pTrack,
DWORD* pdwGroupBits) PURE;
STDMETHOD(InsertTrack) (THIS_ IDirectMusicTrack* pTrack,
DWORD dwGroupBits) PURE;
STDMETHOD(RemoveTrack) (THIS_ IDirectMusicTrack* pTrack) PURE;
STDMETHOD(InitPlay) (THIS_ IDirectMusicSegmentState** ppSegState,
IDirectMusicPerformance* pPerformance,
DWORD dwFlags) PURE;
STDMETHOD(GetGraph) (THIS_ IDirectMusicGraph** ppGraph) PURE;
STDMETHOD(SetGraph) (THIS_ IDirectMusicGraph* pGraph) PURE;
STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
STDMETHOD(RemoveNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
DWORD dwGroupBits,
DWORD dwIndex,
MUSIC_TIME mtTime,
MUSIC_TIME* pmtNext,
void* pParam) PURE;
STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
DWORD dwGroupBits,
DWORD dwIndex,
MUSIC_TIME mtTime,
void* pParam) PURE;
STDMETHOD(Clone) (THIS_ MUSIC_TIME mtStart,
MUSIC_TIME mtEnd,
IDirectMusicSegment** ppSegment) PURE;
STDMETHOD(SetStartPoint) (THIS_ MUSIC_TIME mtStart) PURE;
STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
STDMETHOD(SetLoopPoints) (THIS_ MUSIC_TIME mtStart,
MUSIC_TIME mtEnd) PURE;
STDMETHOD(GetLoopPoints) (THIS_ MUSIC_TIME* pmtStart,
MUSIC_TIME* pmtEnd) PURE;
STDMETHOD(SetPChannelsUsed) (THIS_ DWORD dwNumPChannels,
DWORD* paPChannels) PURE;
};
/*////////////////////////////////////////////////////////////////////
// IDirectMusicSegment8 */
#undef INTERFACE
#define INTERFACE IDirectMusicSegment8
DECLARE_INTERFACE_(IDirectMusicSegment8, IDirectMusicSegment)
{
/* IUnknown */
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/* IDirectMusicSegment */
STDMETHOD(GetLength) (THIS_ MUSIC_TIME* pmtLength) PURE;
STDMETHOD(SetLength) (THIS_ MUSIC_TIME mtLength) PURE;
STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
STDMETHOD(SetRepeats) (THIS_ DWORD dwRepeats) PURE;
STDMETHOD(GetDefaultResolution) (THIS_ DWORD* pdwResolution) PURE;
STDMETHOD(SetDefaultResolution) (THIS_ DWORD dwResolution) PURE;
STDMETHOD(GetTrack) (THIS_ REFGUID rguidType,
DWORD dwGroupBits,
DWORD dwIndex,
IDirectMusicTrack** ppTrack) PURE;
STDMETHOD(GetTrackGroup) (THIS_ IDirectMusicTrack* pTrack,
DWORD* pdwGroupBits) PURE;
STDMETHOD(InsertTrack) (THIS_ IDirectMusicTrack* pTrack,
DWORD dwGroupBits) PURE;
STDMETHOD(RemoveTrack) (THIS_ IDirectMusicTrack* pTrack) PURE;
STDMETHOD(InitPlay) (THIS_ IDirectMusicSegmentState** ppSegState,
IDirectMusicPerformance* pPerformance,
DWORD dwFlags) PURE;
STDMETHOD(GetGraph) (THIS_ IDirectMusicGraph** ppGraph) PURE;
STDMETHOD(SetGraph) (THIS_ IDirectMusicGraph* pGraph) PURE;
STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
STDMETHOD(RemoveNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
DWORD dwGroupBits,
DWORD dwIndex,
MUSIC_TIME mtTime,
MUSIC_TIME* pmtNext,
void* pParam) PURE;
STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
DWORD dwGroupBits,
DWORD dwIndex,
MUSIC_TIME mtTime,
void* pParam) PURE;
STDMETHOD(Clone) (THIS_ MUSIC_TIME mtStart,
MUSIC_TIME mtEnd,
IDirectMusicSegment** ppSegment) PURE;
STDMETHOD(SetStartPoint) (THIS_ MUSIC_TIME mtStart) PURE;
STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
STDMETHOD(SetLoopPoints) (THIS_ MUSIC_TIME mtStart,
MUSIC_TIME mtEnd) PURE;
STDMETHOD(GetLoopPoints) (THIS_ MUSIC_TIME* pmtStart,
MUSIC_TIME* pmtEnd) PURE;
STDMETHOD(SetPChannelsUsed) (THIS_ DWORD dwNumPChannels,
DWORD* paPChannels) PURE;
/* IDirectMusicSegment8 */
STDMETHOD(SetTrackConfig) (THIS_ REFGUID rguidTrackClassID, /* Class ID of the type of track on which to set the configuration flags. */
DWORD dwGroupBits, /* Group bits. */
DWORD dwIndex, /* Nth track (or DMUS_SEG_ALLTRACKS) that matches class id and group id. */
DWORD dwFlagsOn, /* DMUS_TRACKCONFIG_ flags to enable. */
DWORD dwFlagsOff) PURE; /* DMUS_TRACKCONFIG_ flags to disable. */
STDMETHOD(GetAudioPathConfig) (THIS_ IUnknown ** ppAudioPathConfig) PURE;
STDMETHOD(Compose) (THIS_ MUSIC_TIME mtTime,
IDirectMusicSegment* pFromSegment,
IDirectMusicSegment* pToSegment,
IDirectMusicSegment** ppComposedSegment) PURE;
STDMETHOD(Download) (THIS_ IUnknown *pAudioPath) PURE;
STDMETHOD(Unload) (THIS_ IUnknown *pAudioPath) PURE;
};
/*/////////////////////////////////////////////////////////////////////
// IDirectMusicSegmentState */
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState
DECLARE_INTERFACE_(IDirectMusicSegmentState, IUnknown)
{
/* IUnknown */
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/* IDirectMusicSegmentState */
STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
STDMETHOD(GetSegment ) (THIS_ IDirectMusicSegment** ppSegment) PURE;
STDMETHOD(GetStartTime) (THIS_ MUSIC_TIME* pmtStart) PURE;
STDMETHOD(GetSeek) (THIS_ MUSIC_TIME* pmtSeek) PURE;
STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
};
/*/////////////////////////////////////////////////////////////////////
// IDirectMusicSegmentState8 */
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState8
DECLARE_INTERFACE_(IDirectMusicSegmentState8, IDirectMusicSegmentState)
{
/* IUnknown */
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/* IDirectMusicSegmentState */
STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
STDMETHOD(GetSegment ) (THIS_ IDirectMusicSegment** ppSegment) PURE;
STDMETHOD(GetStartTime) (THIS_ MUSIC_TIME* pmtStart) PURE;
STDMETHOD(GetSeek) (THIS_ MUSIC_TIME* pmtSeek) PURE;
STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
/* IDirectMusicSegmentState8 */
STDMETHOD(SetTrackConfig) (THIS_ REFGUID rguidTrackClassID, /* Class ID of the type of track on which to set the configuration flags. */
DWORD dwGroupBits, /* Group bits. */
DWORD dwIndex, /* Nth track (or DMUS_SEG_ALLTRACKS) that matches class id and group id. */
DWORD dwFlagsOn, /* DMUS_TRACKCONFIG_ flags to enable. */
DWORD dwFlagsOff) PURE; /* DMUS_TRACKCONFIG_ flags to disable. */
STDMETHOD(GetObjectInPath) (THIS_ DWORD dwPChannel, /* PChannel to search. */
DWORD dwStage, /* Which stage in the path. */
DWORD dwBuffer, /* Which buffer to address, if more than one. */
REFGUID guidObject, /* ClassID of object. */
DWORD dwIndex, /* Which object of that class. */
REFGUID iidInterface,/* Requested COM interface. */
void ** ppObject) PURE; /* Pointer to interface. */
};
/*////////////////////////////////////////////////////////////////////
// IDirectMusicAudioPath */
#undef INTERFACE
#define INTERFACE IDirectMusicAudioPath
DECLARE_INTERFACE_(IDirectMusicAudioPath, IUnknown)
{
/* IUnknown */
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/* IDirectMusicAudioPath */
STDMETHOD(GetObjectInPath) (THIS_ DWORD dwPChannel, /* PChannel to search. */
DWORD dwStage, /* Which stage in the path. */
DWORD dwBuffer, /* Which buffer to address, if more than one. */
REFGUID guidObject, /* ClassID of object. */
DWORD dwIndex, /* Which object of that class. */
REFGUID iidInterface,/* Requested COM interface. */
void ** ppObject) PURE; /* Pointer to interface. */
STDMETHOD(Activate) (THIS_ BOOL fActivate) PURE;/* True to activate, False to deactivate. */
STDMETHOD(SetVolume) (THIS_ long lVolume, /* Gain, in 100ths of a dB. This must be negative (0 represents full volume.) */
DWORD dwDuration) PURE;/* Duration of volume ramp in milliseconds. Note that 0 is more efficient. */
STDMETHOD(ConvertPChannel) (THIS_ DWORD dwPChannelIn, /* Pchannel of source. */
DWORD *pdwPChannelOut) PURE; /* Equivalent pchannel on performance. */
};
typedef IDirectMusicAudioPath IDirectMusicAudioPath8;
/*////////////////////////////////////////////////////////////////////
// IDirectMusicPerformance */
#undef INTERFACE
#define INTERFACE IDirectMusicPerformance
DECLARE_INTERFACE_(IDirectMusicPerformance, IUnknown)
{
/* IUnknown */
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/* IDirectMusicPerformance */
STDMETHOD(Init) (THIS_ IDirectMusic** ppDirectMusic,
LPDIRECTSOUND pDirectSound,
HWND hWnd) PURE;
STDMETHOD(PlaySegment) (THIS_ IDirectMusicSegment* pSegment,
DWORD dwFlags,
__int64 i64StartTime,
IDirectMusicSegmentState** ppSegmentState) PURE;
STDMETHOD(Stop) (THIS_ IDirectMusicSegment* pSegment,
IDirectMusicSegmentState* pSegmentState,
MUSIC_TIME mtTime,
DWORD dwFlags) PURE;
STDMETHOD(GetSegmentState) (THIS_ IDirectMusicSegmentState** ppSegmentState,
MUSIC_TIME mtTime) PURE;
STDMETHOD(SetPrepareTime) (THIS_ DWORD dwMilliSeconds) PURE;
STDMETHOD(GetPrepareTime) (THIS_ DWORD* pdwMilliSeconds) PURE;
STDMETHOD(SetBumperLength) (THIS_ DWORD dwMilliSeconds) PURE;
STDMETHOD(GetBumperLength) (THIS_ DWORD* pdwMilliSeconds) PURE;
STDMETHOD(SendPMsg) (THIS_ DMUS_PMSG* pPMSG) PURE;
STDMETHOD(MusicToReferenceTime) (THIS_ MUSIC_TIME mtTime,
REFERENCE_TIME* prtTime) PURE;
STDMETHOD(ReferenceToMusicTime) (THIS_ REFERENCE_TIME rtTime,
MUSIC_TIME* pmtTime) PURE;
STDMETHOD(IsPlaying) (THIS_ IDirectMusicSegment* pSegment,
IDirectMusicSegmentState* pSegState) PURE;
STDMETHOD(GetTime) (THIS_ REFERENCE_TIME* prtNow,
MUSIC_TIME* pmtNow) PURE;
STDMETHOD(AllocPMsg) (THIS_ ULONG cb,
DMUS_PMSG** ppPMSG) PURE;
STDMETHOD(FreePMsg) (THIS_ D
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -