Microsoft DirectX 8.0 (C++) |
パフォーマンスが停止したときに、キューからメッセージをフラッシュ (解放) するツールはこのメソッドを使って、メッセージのフラッシュ (解放) に必要なあらゆることを行える。たとえば、出力ツールはこのメソッドを使って、保留されているあらゆるノートオフ メッセージが即座に処理されるようにする。
HRESULT Flush( IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG, REFERENCE_TIME rtTime );
戻り値は実装によって決まる。成功した場合は、次のいずれかを返す。
DMUS_S_REQUEUE |
DMUS_S_FREE |
S_OK |
失敗した場合は E_POINTER を返す。
メッセージは自らの dwFlags メンバに DMUS_PMSGF_TOOL_FLUSH を設定する。「DMUS_PMSG」を参照すること。
メソッドが DMUS_S_REQUEUE を返した場合は、指定されたメッセージをツールがもう一度キューに入れようとしていることを意味する。この結果、ツールはメッセージに新しいタイム スタンプとパラメータを書き込んでもう一度キューに入れるか、メッセージにほかの配信タイプを割り当ててもう一度キューに入れられる。
戻り値が DMUS_S_FREE の場合、ツールはメッセージを自動的に解放しようとしており、メッセージをもう一度キューに入れる必要はないことを意味する。
戻り値が S_OK の場合、ツールはメッセージを自動的に解放しようとはしていない。何らかの理由でツールはメッセージを保持しているか、既に自ら解放したと考えられる。
pPerf によって表されるパフォーマンスへの循環参照は作成しないこと。詳細については、「DirectMusic ツール」を参照すること。
ヘッダー : dmplugin.h で宣言。