Microsoft DirectX 8.0 (C++)

IDirectMusicPort8::DownloadInstrument

DLS デバイスに音色をダウンロードする。音色をダウンロードすることは、音色を構成するデータを DLS デバイスに渡すことを意味する。この中には、音色が必要とするアーティキュレーション データとすべてのウェーブが含まれる。ウェーブのスペースを節約するために、その範囲で必要とされるウェーブとアーティキュレーションだけがダウンロードされる。このメソッドは IDirectMusicDownloadedInstrument8 インターフェイス ポインタを返すが、これは後で音色をアンロードするために使われる。

HRESULT DownloadInstrument(
  IDirectMusicInstrument *pInstrument,
  IDirectMusicDownloadedInstrument **ppDownloadedInstrument,
  DMUS_NOTERANGE *pNoteRanges,
  DWORD dwNumNoteRanges;
);

パラメータ

pInstrument
ダウンロードするデータが属する音色の IDirectMusicInstrument8 インターフェイスへのポインタ。
ppDownloadedInstrument
IDirectMusicDownloadedInstrument8 インターフェイス ポインタを受け取る変数のアドレス。
pNoteRanges
DMUS_NOTERANGE 構造体の配列のアドレス。配列内の各エントリは、音色が応答しなければならない MIDI ノートメッセージの連続範囲を指定する。音色のリージョンがダウンロードされるのは、そのリージョン内の少なくとも 1 つのノートが DMUS_NOTERANGE 構造体で指定されている場合に限られる。
dwNumNoteRanges
pNoteRanges が指す配列内の DMUS_NOTERANGE 構造体の数。この値が 0 に設定されている場合、pNoteRanges パラメータは無視され、この音色のすべてのリージョンとウェーブ データがダウンロードされる。

戻り値

成功した場合は S_OK を返す。

失敗した場合は、次のいずれかのエラー値を返す。

E_POINTER
E_OUTOFMEMORY
E_NOTIMPL

注意

メモリの浪費を防ぐには、音色が不要になったときに、IDirectMusicPort8::UnloadInstrumentIDirectMusicDownloadedInstrument8::Release の両方を呼び出して、アンロードしなければならない。

動作環境

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

参照

IDirectMusicPort8::Compact音色の操作