Platform SDK: DirectX |
IDirectMusicPort::GetFormat メソッドは、IDirectMusic::CreatePort に渡す DMUS_PORTPARAMS 構造体で指定されるウェーブ フォーマットに関する情報、およびウェーブ出力で使うバッファの推奨サイズに関する情報を取り出す。これらの情報を使って、ポート用に互換性のある IDirectSoundBuffer を作成できる。
HRESULT GetFormat( LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize LPDWORD pdwBufferSize );
戻り値は実装によって決まる。成功すれば S_OK を返す。
失敗すれば E_POINTER を返す。
WAVEFORMATEX 構造体は、フォーマットの詳細に応じて可変長にもなる。フォーマットの記述を取り出す前に、アプリケーションは、このメソッドを呼び出し、pWaveFormatEx パラメータに NULL を指定することによって、シンセサイザ オブジェクトに対してフォーマットのサイズに関する問い合わせを行わなければならない。構造体のサイズは、pdwWaveFormatExSize が指す変数に返される。次にアプリケーションは、十分なメモリを割り当て、GetFormat を再度呼び出して、フォーマットの記述を取り出すことができる。
pWaveFormatEx が NULL でない場合、DirectMusic は、できるだけ多くの pdwWaveFormatExSize バイトを構造体に書き込む。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dmusicc.h で宣言。