Platform SDK: DirectX |
IDirectMusicTool::ProcessPMsg メソッドは、ツールの主要なタスクを実行する。このメソッドは、IDirectMusicTool::GetMediaTypes によって指定されるタイプと一致するすべてのメッセージに対して、パフォーマンスのリアルタイム スレッドの内部から呼び出される。
HRESULT ProcessPMsg( IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG );
戻り値は実装によって決まる。成功すれば次のいずれかを返す。
DMUS_S_REQUEUE |
DMUS_S_FREE |
S_OK |
失敗すれば E_POINTER を返す。
メソッドが DMUS_S_REQUEUE を返した場合、指定されたメッセージをツールが取得したいと考えていることを意味する。この結果、ツールはメッセージに新しいタイム スタンプとパラメータを書き込んでもう一度キューに入れるか、メッセージに他の配信タイプを割り当ててもう一度キューに入れられる。
戻り値が DMUS_S_FREE の場合、ツールはメッセージを自動的に解放したいと考えており、メッセージをもう一度キューに入れたいとは考えていないことを意味する。
戻り値が S_OK の場合、ツールはメッセージを自動的に解放したいとは考えていない。おそらく何らかの理由でツールはメッセージを保持しているか、既に自ら解放した。
ツールは時間のかかる操作を実行してはならない。もしそうした場合、パフォーマンス全体に大きな影響を及ぼすためである。また、pPerf によって表されるパフォーマンスへの循環参照は作成しないこと。詳細については、「DirectMusic ツール」を参照すること。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dmusici.h で宣言。