DirectX SDK |
The DMUS_NOTIFICATION_PMSG structure is a DMUS_PMSG that represents a notification.
typedef struct DMUS_NOTIFICATION_PMSG { DMUS_PMSG_PART GUID guidNotificationType; DWORD dwNotificationOption; DWORD dwField1; DWORD dwField2; } DMUS_NOTIFICATION_PMSG;
If the notification type is GUID_NOTIFICATION_SEGMENT, this member can contain one of the following values:
If the notification type is GUID_NOTIFICATION_COMMAND, this member can contain one of the following values:
If the notification type is GUID_NOTIFICATION_PERFORMANCE, this member can contain one of the following values:
If the notification type is GUID_NOTIFICATION_MEASUREANDBEAT, this member contains DMUS_NOTIFICATION_MEASUREBEAT. No other subtypes are defined.
If the notification type is GUID_NOTIFICATION_CHORD, this member contains DMUS_NOTIFICATION_CHORD. No other subtypes are defined.
For most notifications, the punkUser member (see DMUS_PMSG) contains the IUnknown pointer of the segment state. This is especially useful in the cases of chords and commands, in which you can query for the IDirectMusicSegmentState interface, call IDirectMusicSegmentState::GetSegment to get the IDirectMusicSegment pointer, and then call the IDirectMusicSegment::GetParam method to get the chord or command at the time given in the notification message's mtTime member.
For notifications of type GUID_NOTIFICATION_PERFORMANCE, the punkUser member is always NULL.
Applications can define their own notification message types and subtypes and use dwField1 and dwField2 for extra data. Such custom notification messages can be allocated and sent like any other message. Application-defined tracks can send messages of a particular type after the GUID (guidNotificationType) has been handed to IDirectMusicTrack::AddNotificationType.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dmusici.h.
Notification and Event Handling, IDirectMusicPerformance::SendPMsg