Platform SDK: DirectX

IDirectMusicGraph::StampPMsg

IDirectMusicGraph::StampPMsg メソッドは、メッセージを受け取る次のツールへのポインタをメッセージにスタンプする。ツールは、メッセージを処理した後、このメソッドを呼び出さなければならない。

HRESULT StampPMsg(
  DMUS_PMSG* pPMSG
);

パラメータ

pPMSG
スタンプの対象となるメッセージを保持する構造体のアドレス。この構造体は、DMUS_PMSG の派生タイプである。メッセージ タイプの概要については、「メッセージ」を参照すること。

戻り値

成功すれば S_OK を返す。失敗すれば DMUS_S_LAST_TOOL を返す。「注意」を参照すること。

失敗すれば E_POINTER を返す。

注意

エントリ内の pPMSG->pTool (「DMUS_PMSG」を参照) は、現在のツールを指す。StampPMsg はこのメンバを使って、現在のツールを決定し、グラフ内の次のツールを見つける。NULL の値はグラフ内の最初のツールを表す。

pPMSG->pGraph が指すオブジェクトは、ツールを保持するグラフを表す。StampPMsg 内部でこの値がツール自体の値と共にスタンプされる。複数のツール グラフが存在する場合、メッセージがセグメント状態からパフォーマンスへ移動する過程で、この値が変更されることがある。

pPMSG->dwType の値は、メッセージのメディア タイプに等しく、次のツールを見つけるのに使われる。メディア タイプとしてサポートされているのは、IDirectMusicTool::GetMediaTypes メソッドが返す値である。

pPMSG->dwPChannel の値を使ってトラックを指定するが、ツールはこのトラックを処理する能力を備えていなければならない。セクションをオーサリングする際に割り当てられた固有の番号を使ってトラックを識別する。

このメソッドは pPMSG->pTool が指す現在の IDirectMusicTool に対して Release を呼び出し、グラフ内の次のツールに置き換え、新しいツールに対して AddRef を呼び出す。

このメソッドは、次のツールが IDirectMusicTool::GetMsgDeliveryType メソッドで返すタイプに基づいて、メッセージに正しい引き渡しタイプ フラグも割り当てる。このフラグは、メッセージを次のツールに配信する時期を決定する。

DirectMusicSegmentState と DirectMusicPerformance の各オブジェクトでのこのメソッドを実装すると、成功した場合、常に S_OK を返す。DirectMusicGraph で実装すると、メッセージの受け取りを待っている出力ツールのほかにツールがない場合、DMUS_S_LAST_TOOL を返す。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dmusici.h で宣言。

参照

DirectMusic ツール