Microsoft DirectX 8.0 (C++)

IDirectMusicTool8::ProcessPMsg

ツールの主要なタスクを実行する。このメソッドは、IDirectMusicTool8::GetMediaTypes によって指定されるタイプと一致するすべてのメッセージに対して、パフォーマンスのリアルタイム スレッドの内部から呼び出される。

HRESULT ProcessPMsg(
  IDirectMusicPerformance* pPerf,
  DMUS_PMSG* pPMSG
);

パラメータ

pPerf
メッセージを生成しているパフォーマンス。
pPMSG
処理されるメッセージ。

戻り値

戻り値は実装によって決まる。成功した場合は、次のいずれかを返す。

DMUS_S_REQUEUE
DMUS_S_FREE
S_OK

失敗した場合は E_POINTER を返す。

注意

メソッドが DMUS_S_REQUEUE を返した場合は、指定されたメッセージをツールがもう一度キューに入れようとしていることを意味する。この結果、ツールはメッセージに新しいタイム スタンプとパラメータを書き込んでもう一度キューに入れるか、メッセージにほかの配信タイプを割り当ててもう一度キューに入れられる。

戻り値が DMUS_S_FREE の場合、ツールはメッセージを自動的に解放しようとしており、メッセージをもう一度キューに入れる必要はないことを意味する。

戻り値が S_OK の場合、ツールはメッセージを自動的に解放しようとはしていない。何らかの理由でツールはメッセージを保持しているか、既に自ら解放したと考えられる。

ツールは時間のかかる操作を実行してはならない。もしそうした場合、パフォーマンス全体に大きな影響を及ぼすためである。また、pPerf によって表されるパフォーマンスへの循環参照は作成しないこと。詳細については、「DirectMusic ツール」を参照すること。

動作環境

  ヘッダー : dmplugin.h で宣言。

参照

IDirectMusicPerformance8::SendPMsgメッセージメッセージの作成と配信