Поделиться через


Размер выходного буфера

Метод IMiniport::D ataRangeIntersection драйвера мини-порта копирует структуру, указывающую согласованный формат данных, в буфер, выделенный вызывающим объектом. Параметр OutputBufferLength метода указывает размер буфера в байтах. Обратите внимание, что размер структуры формата зависит от выбранного формата. Чтобы избежать записи после конца буфера, метод DataRangeIntersection должен сначала убедиться, что выделенный буфер достаточно велик для хранения формата.

Для моно- или стереоформата минимальный размер выходного буфера — sizeof(KSDATAFORMAT_WAVEFORMATEX) или sizeof(KSDATAFORMAT_DSOUND) в зависимости от выбранного формата WAVEFORMATEX или DirectSound.

Если формат волн поддерживает более двух каналов, структура WAVEFORMATEX , внедренная в концеструктуры KSDATAFORMAT_WAVEFORMATEX , расширяется и занимает дополнительное количество байтов, равное разнице.

sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX)