IDirectMusicSegmentState8::GetObjectInPath
このセグメント状態が演奏されているオーディオパスに含まれるオブジェクトのインターフェイスを取得する。
HRESULT GetObjectInPath(
DWORD dwPChannel,
DWORD dwStage,
DWORD dwBuffer,
REFGUID guidObject,
DWORD dwIndex,
REFGUID iidInterface,
void ** ppObject
);
パラメータ
- dwPChannel
- 検索するパフォーマンス チャンネルまたはすべてのチャンネルを検索する DMUS_PCHANNEL_ALL。最初のチャンネルは 0 番になる。「注意」を参照すること。
- dwStage
- パスのステージ。次のいずれかの値を指定する。
- DMUS_PATH_AUDIOPATH
- セグメント状態が演奏されているオーディオパス。
- DMUS_PATH_AUDIOPATH_GRAPH
- オーディオパス ツールグラフ。存在しなければ作成される。
- DMUS_PATH_AUDIOPATH_TOOL
- オーディオパス ツールグラフ内のツール。
- DMUS_PATH_BUFFER
- DirectSound バッファ。
- DMUS_PATH_BUFFER_DMO
- バッファ内の DMO。DMO インターフェイスの詳細については、「IDirectSoundBuffer8::GetObjectInPath」を参照すること。
- DMUS_PATH_MIXIN_BUFFER
- グローバル ミックスイン バッファ。
- DMUS_PATH_MIXIN_BUFFER_DMO
- グローバル ミックスイン バッファ内の DMO。
- DMUS_PATH_PERFORMANCE
- パフォーマンス。
- DMUS_PATH_PERFORMANCE_GRAPH
- パフォーマンス ツールグラフ。存在しなければ作成される。
- DMUS_PATH_PERFORMANCE_TOOL
- パフォーマンス グラフ内のツール。
- DMUS_PATH_PORT
- シンセサイザ。
- DMUS_PATH_PRIMARY_BUFFER
- プライマリ バッファ。
- DMUS_PATH_SEGMENT
- セグメント状態を所有するセグメント。
- DMUS_PATH_SEGMENT_GRAPH
- セグメント ツールグラフ。存在しなければ作成される。「注意」を参照すること。
- DMUS_PATH_SEGMENT_TOOL
- セグメント グラフ内のツール。「注意」を参照すること。
- DMUS_PATH_SEGMENT_TRACK
- セグメント内のトラック。「注意」を参照すること。
- dwBuffer
- dwStage が DMUS_PATH_BUFFER_DMO または DMUS_PATH_MIXIN_BUFFER_DMO の場合は、DMO が常駐するバッファのインデックス。dwStage が DMUS_PATH_BUFFER または DMUS_PATH_MIXIN_BUFFER の場合は、バッファのインデックス。それ以外の場合は、0 でなければならない。
- guidObject
- オブジェクトのクラス識別子、または任意のクラスのオブジェクトを検索する GUID_All_Objects。dwStage によって指定されたステージに存在するオブジェクトが単一のクラスに限定されている場合は無視される。このパラメータは GUID_NULL に設定できる。
- dwIndex
- 適合オブジェクトのリスト内のオブジェクトのインデックス。0 に設定して、最初の適合オブジェクトを検索する。dwStage が DMUS_PATH_BUFFER または DMUS_PATH_MIXIN_BUFFER の場合、このパラメータは無視され、dwBuffer によってバッファ インデックスが指定される。
- iidInterface
- IID_IDirectMusicGraph など、目的のインターフェイスの識別子。
- ppObject
- 要求されたインターフェイスへのポインタを受け取る変数のアドレス。
戻り値
成功した場合は S_OK または DMUS_S_GARBAGE_COLLECTED を返す。「ガベージ コレクション」を参照すること。
失敗した場合は、次のいずれかのエラー値を返す。
注意
チャンネル固有でないステージについては、dwPChannel の値は 0 に設定しなければならない。次のステージのオブジェクトはチャンネル固有なので、dwPChannel にチャンネル番号または DMUS_PCHANNEL_ALL を設定して取得できる。
DMUS_PATH_AUDIOPATH_TOOL
DMUS_PATH_BUFFER
DMUS_PATH_BUFFER_DMO
DMUS_PATH_PERFORMANCE_TOOL
DMUS_PATH_PORT
DMUS_PATH_SEGMENT_TOOL
不必要なオブジェクトをフィルタリングによって除外するときのパラメータの優先順位は次のとおりである。
- dwStage。
- guidObject。この値が GUID_All_Objects でない場合、クラス識別子が guidObject に等しいオブジェクトだけが検索される。ただし、指定されたステージに存在できるオブジェクトのクラスが 1 つに限定されている場合、このパラメータは無視される。
- dwPChannel。ステージがチャンネル固有で、この値が DMUS_PCHANNEL_ALL でない場合、そのチャンネルのオブジェクトだけが検索される。
- dwBuffer。このパラメータが使用されるのは、dwStage が DMUS_PATH_BUFFER、DMUS_PATH_MIXIN_BUFFER、DMUS_PATH_BUFFER_DMO、または DMUS_PATH_MIXIN_BUFFER_DMO の場合だけである。
- dwIndex。DirectMusic Producer で作成するセグメントのトラックは、必ずしもアプリケーションと同じ順序である必要はない。ステージ DMUS_PATH_SEGMENT_TRACK では、特定のトラックの検索を dwIndex だけに頼らないこと。
一致するオブジェクトが見つかっても、iidInterface で指定されているインターフェイスが見つからない場合、このメソッドは失敗する。
dwStage に DMUS_PATH_SEGMENT_GRAPH または DMUS_PATH_SEGMENT_TOOL を指定する場合に返されるオブジェクトは、同じセグメントに基づく別のセグメント状態に返されるオブジェクトと同じではない可能性がある。セグメントが演奏される場合、そのツールグラフはコピーされ、IDirectMusicTool8::Clone メソッドをサポートするツールもすべてコピーされる。
ヘッダー : dmusici.h で宣言。
参照
IDirectMusicAudioPath8::GetObjectInPath、オーディオパスからのオブジェクトの取得