Platform SDK: DirectX

IDirectMusicCollection::EnumInstrument

IDirectMusicCollection::EnumInstrument メソッドは、コレクション内のインデックスを使って、楽器のパッチ番号と名前を取り出す。

HRESULT EnumInstrument(
  DWORD dwIndex,
  DWORD* pdwPatch,
  LPWSTR pwszName,
  DWORD dwNameLen
);

パラメータ

dwIndex
コレクション内の楽器のインデックス。
pdwPatch
パッチ番号を受け取る変数のアドレス。
pwszName
楽器名を受け取るバッファのアドレス。名前が不要な場合は、NULL でもよい。
dwNameLen
楽器名バッファのサイズ。WCHAR 単位で指定する。

戻り値

成功すれば S_OK を返す。指定されたインデックス番号を持つ楽器が存在しない場合は S_FALSE を返す。

失敗すれば次のエラー値のいずれかを返す。

E_FAIL
E_OUTOFMEMORY
E_POINTER

注意

コレクション内のすべての楽器を列挙するには、dwIndex の値を 0 から始め、EnumInstrument が S_FALSE を返すまで値を大きくする。

pdwPatch に返されるパッチ番号は、バンク セレクトの MSB と LSB の MIDI パラメータも含む、完全なパッチアドレスを記述する。詳細は、「MIDI チャンネル メッセージ」を参照すること。

列挙型の順序は DLS コレクションの 1 つのインスタンス内では整合しているが、この順序はファイル内の楽器の順序、パッチ番号、楽器名のいずれとも関係はない。

楽器の列挙の例については、「音色の操作」を参照すること。

動作環境

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