Microsoft DirectX 8.0 (Visual Basic)

DirectMusicAudioPath8.GetObjectInPath

オーディオパス内のオブジェクトを取得する。

object.GetObjectInPath( _
  lPChannel As Long, _
  lStage As CONST_DMUSIC_PATH, _
  lBuffer As Long, 
  guidObject As String, _
  lIndex As Long, _
  iidInterface As String _
) As Unknown

指定項目

object
DirectMusicAudioPath8 オブジェクトを指定する。
lPChannel
検索するパフォーマンス チャンネル。DMUS_PCHANNEL_ALL を指定すると、すべてのチャンネルが検索される。最初のチャンネルは 0 番になる。「注意」を参照すること。
lStage
パス内のステージ。CONST_DMUSIC_PATH 列挙型のいずれかの定数である。「注意」を参照すること。
lBuffer
lStage が DMUS_PATH_BUFFER_DMO または DMUS_PATH_MIXIN_BUFFER_DMO である場合、DMO が存在するバッファのインデックスを指定する。lStage が DMUS_PATH_BUFFER または DMUS_PATH_MIXIN_BUFFER である場合、バッファのインデックスを指定する。それ以外の場合は、0 を指定する。
guidObject
CLSID_DirectMusicPerformance など、オブジェクトのクラス識別子。GUID_ALL_OBJECTS を指定すると、任意のクラスが検索される。lStage によって指定されたステージに存在するオブジェクトが単一のクラスに限定されている場合は無視される。このパラメータは GUID_NULL に設定できる。
lIndex
一致するオブジェクトのリストに含まれるオブジェクトのインデックス。0 に設定して、最初の適合オブジェクトを検索する。lStage が DMUS_PATH_BUFFER または DMUS_PATH_MIXIN_BUFFER の場合、このパラメータは無視され、lBuffer によってバッファ インデックスが指定される。
iidInterface
必要なクラスの識別子。文字列形式の GUID、または IID_DirectSoundPrimaryBuffer など、AUDIOSTRINGCONSTANTS モジュール内の識別子の 1 つ。

戻り値

iidInterface に指定されたクラスのオブジェクトを返す。

エラー コード

失敗した場合は、エラーが発生する。Err.Number には次のいずれかの値が設定される。

DMUS_E_NOT_FOUND
DMUS_E_NOINTERFACE

注意

チャンネル固有でないステージについては、lPChannel の値は 0 に設定しなければならない。次のステージのオブジェクトはチャンネル固有なので、lPChannel にチャンネル番号または 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

不必要なオブジェクトをフィルタリングによって除外するときのパラメータの優先順位は次のとおりである。

  1. lStage
  2. guidObject。この値が GUID_All_Objects でない場合、クラス識別子が guidObject に等しいオブジェクトだけが検索される。ただし、指定されたステージのオブジェクトのクラスが 1 つに限定されている場合、このパラメータは無視される。
  3. lPChannel。ステージがチャンネル固有で、この値が DMUS_PCHANNEL_ALL でない場合、そのチャンネルのオブジェクトだけが検索される。
  4. lBuffer。このパラメータが使用されるのは、lStage が DMUS_PATH_BUFFER、DMUS_PATH_MIXIN_BUFFER、DMUS_PATH_BUFFER_DMO、または DMUS_PATH_MIXIN_BUFFER_DMO の場合だけである。
  5. lIndex

一致するオブジェクトが見つかっても、iidInterface で指定されているクラスが見つからない場合は、このメソッドは失敗する。

このメソッドで取得できるオブジェクトのタイプの中には、DirectX for Visual Basic でサポートされていないものもある。たとえば、lStage に DMUS_PATH_PERFORMANCE_TOOL を設定しても、ツールがサポートされていないので無意味である。

参照

オーディオパスからのオブジェクトの取得