Microsoft DirectX 8.0 (C++)

IDirectMusicContainer8::EnumObject

コンテナ内のオブジェクトに関する情報を取得する。

HRESULT EnumObject(
  REFGUID rguidClass, 
  DWORD dwIndex, 
  LPDMUS_OBJECTDESC pDesc,
  WCHAR* pwszAlias
);

パラメータ

rguidClass
オブジェクト クラスの一意な識別子への参照 (C++) またはアドレス (C)。任意のタイプのオブジェクトを取得する場合は GUID_DirectMusicAllTypes。標準的なローダブル クラスのリストについては、「IDirectMusicLoader8」を参照すること。
dwIndex
コンテナに含まれるオブジェクト クラス rguidClass 内のオブジェクトのインデックス。
pDesc
オブジェクトの記述を受け取る DMUS_OBJECTDESC 構造体へのポインタ。記述を必要としない場合は、このパラメータを NULL にする。「注意」を参照すること。
pwszAlias
オブジェクトのエイリアスを受け取る MAX_PATH サイズの文字列バッファのアドレス (エイリアスがある場合)。エイリアスは、オブジェクトを参照するためにスクリプトで使用される特殊な名前である。エイリアスを必要としない場合は、このパラメータを NULL にする。

戻り値

成功した場合は、次のいずれかのコードを返す。

S_OK オブジェクトが列挙された。
S_FALSE dwIndex のインデックスを持つオブジェクトがない。
DMUS_S_STRING_TRUNCATED エイリアスが MAX_PATH より長い。
DMUS_S_GARBAGE_COLLECTED ガベージ コレクション」を参照すること。

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

注意

メソッドに渡す前に、DMUS_OBJECTDESC 構造体の dwSize メンバを初期化する必要がある。その他のメンバは無視される。wszName メンバの値の指定などによって列挙の範囲を縮小することはできない。メソッドによって返された記述を使って、IDirectMusicLoader8::GetObject を呼び出すことで、オブジェクトを取得できる。サンプル コードについては、「コンテナ」を参照すること。

動作環境

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