Microsoft DirectX 8.0 (C++)

IDirectMusicPort8::GetFormat

IDirectMusic8::CreatePort に渡す DMUS_PORTPARAMS8 構造体で指定されるウェーブ フォーマットに関する情報、およびウェーブ出力で使うバッファの推奨サイズに関する情報を取得する。これらの情報を使って、ポート用に互換性のある DirectSound バッファを作成できる。

HRESULT GetFormat(
  LPWAVEFORMATEX pWaveFormatEx,
  LPDWORD pdwWaveFormatExSize
  LPDWORD pdwBufferSize
);

パラメータ

pWaveFormatEx
フォーマットに関する情報を受け取る WAVEFORMATEX 構造体のアドレス。この値は NULL でもよい。「注意」を参照すること。
pdwWaveFormatExSize
構造体のサイズを指定または取得する変数のアドレス。「注意」を参照すること。
pdwBufferSize
DirectSound バッファの推奨サイズを受け取る変数のアドレス。

戻り値

戻り値は実装によって決まる。成功した場合は S_OK を返す。

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

注意

WAVEFORMATEX 構造体は、フォーマットの詳細に応じて可変長にもなる。フォーマットの記述を取得する前に、アプリケーションは、このメソッドを呼び出し、pWaveFormatEx パラメータに NULL を指定することによって、シンセサイザ オブジェクトに対してフォーマットのサイズに関する問い合わせを行わなければならない。構造体のサイズは、pdwWaveFormatExSize が指す変数に返される。次にアプリケーションは、十分なメモリを割り当て、GetFormat を再度呼び出して、フォーマットの記述を取得できる。

pWaveFormatEx が NULL でない場合、DirectMusic は、できるだけ多くの pdwWaveFormatExSize バイトを構造体に書き込む。

動作環境

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

参照

IDirectMusicPort8::SetDirectSound