Platform SDK: DirectX

IDirectMusicPerformance::Init

IDirectMusicPerformance::Init メソッドは、パフォーマンスを DirectMusic オブジェクトと DirectSound オブジェクトに関連付ける。

HRESULT Init(
  IDirectMusic** ppDirectMusic,
  LPDIRECTSOUND pDirectSound,
  HWND hWnd
);

パラメータ

ppDirectMusic
パフォーマンスに割り当てる IDirectMusic インターフェイス ポインタがある場合、それを含む変数のアドレス。このインターフェイスの参照カウントはインクリメントされる。IDirectMusicPerformance::AddPort メソッドに渡すポートは、この DirectMusic オブジェクトから作成されたものでなければならない。

変数に NULL が含まれる場合、DirectMusic オブジェクトが作成され、インターフェイス ポインタが返される。

ppDirectMusic が NULL の場合、DirectMusic オブジェクトが作成され、パフォーマンスによって内部的に使用される。

「注意」を参照すること。

pDirectSound
ウェーブ出力用にデフォルトで使う IDirectSound インターフェイスのアドレス。この値が NULL の場合、DirectMusic によって DirectSound オブジェクトが作成される。ただし、DirectSound オブジェクトが存在できるのは 1 つのプロセスにつき 1 つだけである。アプリケーションで DirectSound を個別に使っている場合、そのインターフェイスを pDirectSound に渡さなければならない。アプリケーションが DirectMusic オブジェクトを明示的に作成する場合は、そのインターフェイスを IDirectMusic::SetDirectSound に渡さなければならない。
hWnd
DirectSound の作成に使うウィンドウ ハンドル。このパラメータは NULL でもよい。その場合、前面ウィンドウが使用される。「注意」を参照すること。

pDirectSound が NULL の場合、このパラメータは無視される。その場合、IDirectSound::SetCooperativeLevel の呼び出しにおいて、アプリケーションがウィンドウ ハンドルの設定を行わなければならない。

戻り値

成功すれば S_OK を返す。

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

DMUS_E_ALREADY_INITED
E_OUTOFMEMORY
E_POINTER

注意

このメソッドは 1 回だけ呼び出すべきであり、パフォーマンスが演奏を開始する前に呼び出さなければならない。

DirectMusic オブジェクトは、以下の方法のいずれかを使って、パフォーマンスに関連付けることができる。

パフォーマンスを解放する前に、IDirectMusicPerformance::CloseDown メソッドを使ってパフォーマンスを終了しなければならない。

hWnd パラメータに NULL を渡して、現在の前面ウィンドウ ハンドルを DirectSound に渡すことができる。ただし、アプリケーション ウィンドウが初期化中に前面にあると想定しないこと。通常、最上レベルのアプリケーション ウィンドウ ハンドルは、DirectMusic、DirectSound、および DirectDraw に渡される。「IDirectSound::SetCooperativeLevel」の「注意」を参照すること。

動作環境

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

参照

パフォーマンスの作成DirectMusic と DirectSound の統合