Microsoft DirectX 8.0 (C++) |
パフォーマンスを DirectMusic オブジェクトと DirectSound オブジェクトに関連付ける。アプリケーションがオーディオパスを使用していない場合は、パフォーマンスの演奏前にこのメソッドを呼び出す必要がある。
オーディオパスを使用するアプリケーションについては、このメソッドに代えて IDirectMusicPerformance8::InitAudio が使用される。
HRESULT Init( IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd );
ppDirectMusic が指す変数に、有効な IDirectMusic または IDirectMusic8 インターフェイス ポインタが含まれている場合は、既存のオブジェクトがパフォーマンスに割り当てられる。このインターフェイスの参照カウントはインクリメントされる。IDirectMusicPerformance8::AddPort メソッドに渡されるポートは、この DirectMusic オブジェクトから作成する必要がある。
ppDirectMusic が指す変数に NULL が含まれる場合、DirectMusic オブジェクトが作成され、IDirectMusic インターフェイス ポインタが返される。QueryInterface を使用して IDirectMusic8 を取得する。
ppDirectMusic が NULL の場合、DirectMusic オブジェクトが作成され、パフォーマンスによって内部的に使用される。
「注意」を参照すること。
pDirectSound が NULL の場合、このパラメータは無視される。その場合、IDirectSound8::SetCooperativeLevel の呼び出しにおいて、アプリケーションがウィンドウ ハンドルの設定を行わなければならない。
成功した場合は S_OK を返す。
失敗した場合は、次のいずれかのエラー値を返す。
DMUS_E_ALREADY_INITED |
E_OUTOFMEMORY |
E_POINTER |
このメソッドは、一度だけ呼び出すことができる。既存の IDirectMusic8 インターフェイスの取得に使用することはできない。
DirectMusic オブジェクトは、以下の方法のいずれかを使って、パフォーマンスに関連付けることができる。
パフォーマンスを解放する前に、IDirectMusicPerformance8::CloseDown メソッドを使用してパフォーマンスを終了しなければならない。
hWnd パラメータに NULL を渡すと、現在の前面ウィンドウのハンドルを DirectSound に渡すことができる。ただし、アプリケーション ウィンドウが初期化中に前面にあると想定しないこと。最上位アプリケーションのウィンドウ ハンドルを渡すことが最良である。
ヘッダー : dmusici.h で宣言。