Microsoft DirectX 8.0 (C++)

IDirectSoundBuffer8::GetFormat

バッファ内のサウンド データのフォーマットに関する情報、またはフォーマットの記述を取得するのに必要なバッファ サイズを取得する。

HRESULT GetFormat(
  LPWAVEFORMATEX pwfxFormat, 
  DWORD dwSizeAllocated, 
  LPDWORD pdwSizeWritten 
);

パラメータ

pwfxFormat
バッファ内のサウンド データに関する情報を受け取る WAVEFORMATEX 構造体のアドレス。フォーマットの記述を保持するために必要なバッファ サイズを取得するには NULL を指定する。この場合、pdwSizeWritten の変数が、データを受け取るために必要な構造体のサイズを受け取る。
dwSizeAllocated
pwfxFormat の構造体のサイズ (バイト単位)。pwfxFormat が NULL でない場合、この値は予期されるデータ サイズと同じか、それ以上でなければならない。
pdwSizeWritten
pwfxFormat の構造体に書き込まれたバイト数を受け取る変数のアドレス。このパラメータは NULL にしてもよい。

戻り値

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

失敗した場合は DSERR_INVALIDPARAM を返す。

注意

WAVEFORMATEX 構造体は、フォーマットに応じた可変長であってもよい。アプリケーションはフォーマットの記述を取得する前に、pwfxFormat パラメータに NULL を指定してこのメソッドを呼び出し、フォーマットのサイズに関して DirectSoundBuffer オブジェクトを照会する必要がある。必要な構造体のサイズは pdwSizeWritten パラメータへ返される。その後、アプリケーションは十分なメモリを割り当て、もう一度 IDirectSoundBuffer8::GetFormat を呼び出し、フォーマットの記述を取得できる。

動作環境

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

参照

IDirectSoundBuffer8::SetFormat