Platform SDK: DirectX |
DMUS_NOTIFICATION_PMSG 構造体は、DMUS_PMSG から派生したもので、通知を表す。
typedef struct DMUS_NOTIFICATION_PMSG { DMUS_PMSG_PART GUID guidNotificationType; DWORD dwNotificationOption; DWORD dwField1; DWORD dwField2; } DMUS_NOTIFICATION_PMSG;
通知タイプが GUID_NOTIFICATION_SEGMENT の場合、このメンバは次の値のいずれかを保持する。
通知タイプが GUID_NOTIFICATION_COMMAND の場合、このメンバは次の値のいずれかを保持する。
通知タイプが GUID_NOTIFICATION_PERFORMANCE の場合、このメンバは次の値のいずれかを保持する。
通知タイプが GUID_NOTIFICATION_MEASUREANDBEAT の場合、このメンバは DMUS_NOTIFICATION_MEASUREBEAT を保持する。その他のサブタイプは定義されない。
通知タイプが GUID_NOTIFICATION_CHORD の場合、このメンバは DMUS_NOTIFICATION_CHORD を保持する。その他のサブタイプは定義されない。
ほとんどの通知について、punkUser メンバ (「DMUS_PMSG」を参照) は、セグメント状態の IUnknown ポインタを保持する。これは、コードおよびコマンドの取得に使用すると非常に便利である。その場合、IDirectMusicSegmentState インターフェイスのクエリを行い、IDirectMusicSegmentState::GetSegment を呼び出して IDirectMusicSegment ポインタを取得する。次に、IDirectMusicSegment::GetParam メソッドを呼び出して、通知メッセージの mtTime メンバで指定されたタイムにコードまたはコマンドを取得する。
GUID_NOTIFICATION_PERFORMANCE タイプの通知の場合、punkUser メンバは常に NULL である。
アプリケーションは独自の通知メッセージ タイプおよびサブタイプを定義でき、余分なデータについては dwField1 と dwField2 を使用できる。そのようなカスタム通知メッセージは、その他のメッセージと同様に、割り当ておよび送信できる。アプリケーションによって定義されたトラックは、GUID (guidNotificationType) が IDirectMusicTrack::AddNotificationType に渡された後に、特定タイプのメッセージを送信できる。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dmusici.h で宣言。