出力バッファー サイズ

ミニポート ドライバーの IMiniport::D ataRangeIntersection メソッドは、呼び出し元によって割り当てられたバッファーにネゴシエートされたデータ形式を指定する構造体をコピーします。 メソッドの OutputBufferLength パラメーターは、バッファーのサイズをバイト単位で指定します。 書式構造のサイズは、選択した形式によって異なります。 バッファーの末尾を超えて書き込みを回避するために、 DataRangeIntersection メソッドは、まず、割り当てられたバッファーが形式を格納するのに十分な大きさであることを確認する必要があります。

モノラルまたはステレオ形式の場合、出力バッファーの最小サイズは、WAVEFORMATEX 形式と DirectSound 形式のどちらが選択されているかに応じて、sizeof(KSDATAFORMAT_WAVEFORMATEX) または sizeof(KSDATAFORMAT_DSOUND) のいずれかになります。

Wave 形式が 3 つ以上のチャネルをサポートしている場合、KSDATAFORMAT_WAVEFORMATEX 構造体の最後に埋め込まれている WAVEFORMATEX 構造体は、その差に等しい追加のバイト数を占有するように拡張されます。

sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX)