IDirectSoundBuffer8::GetFormat
GetFormat メソッドは、バッファー内のサウンド データのフォーマットの記述、またはフォーマットの記述を取得するために必要なバッファー サイズを取得します。
HRESULT
GetFormat(
LPWAVEFORMATEX pwfxFormat,
DWORD dwSizeAllocated,
LPDWORD pdwSizeWritten
);
パラメータ
- pwfxFormat
バッファー内のサウンド データの記述を受け取る WAVEFORMATEX 構造体または WAVEFORMATEXTENSIBLE 構造体のアドレスです。フォーマットの記述を保持するために必要なバッファー サイズを取得するには、NULL を指定します。この場合、pdwSizeWritten の変数が、データを受け取るために必要な構造体のサイズを受け取ります。 - dwSizeAllocated
pwfxFormat の構造体のサイズ (バイト単位) です。pwfxFormat が NULL でない場合、この値は、予想されるデータのサイズ以上でなければなりません。 - pdwSizeWritten
pwfxFormat の構造体に書き込まれたバイト数を受け取る変数のアドレスです。このパラメーターは NULL でもかまいません。
戻り値
成功した場合は、DS_OK を返します。失敗した場合は、DSERR_INVALIDPARAM を返します。
解説
フォーマット構造体は、フォーマットに応じて長さが変化する場合があります。アプリケーションでは、フォーマットの記述を取得する前に、pwfxFormat パラメーターに NULL を指定してこのメソッドを呼び出し、フォーマットのサイズをバッファー オブジェクトにクエリする必要があります。必要な構造体のサイズは、pdwSizeWritten パラメーターに返されます。続いて、アプリケーションでは十分なメモリーを割り当て、GetFormat をもう一度呼び出して、フォーマットの記述を取得することができます。
要件
ヘッダー: DSound.h 宣言
ライブラリ: Dsound3d.dll 内容