Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Фирменный обработчик пересечения данных адаптера (метод IMiniport объекта минипорта::DataRangeIntersection) может отказать в выполнении проверки пересечения данных, возвращая код состояния STATUS_NOT_IMPLEMENTED. В этом случае обработчик пересечения данных по умолчанию драйвера портов выполняет проверку от имени адаптера.
Вы можете реализовать минимальный обработчик пересечения данных для драйвера адаптера в качестве метода DataRangeIntersection , который отклоняет все запросы на пересечение данных, возвращая STATUS_NOT_IMPLEMENTED.
Текущая реализация обработчика драйвера порта по умолчанию ограничена типами диапазонов данных, которые он может обрабатывать:
Только форматы данных PCM
Только моно и стереофонические аудиопотоки
Драйвер адаптера, поддерживающий форматы, отличные от PCM или multichannel, должен реализовать собственный обработчик пересечения данных вместо того, чтобы полагаться на драйвер порта для обработки пересечений данных для этих форматов.
Кроме того, обработчик по умолчанию поддерживает только звуковые форматы, которые можно указать KSDATAFORMAT_DSOUND илиструктурой KSDATAFORMAT_WAVEFORMATEX . Он не поддерживает какой-либо формат, содержащий структуру WAVEFORMATEXTENSIBLE , которая необходима, например, для указания маски канала для формата с более чем двумя каналами.
При выборе общего формата между двумя диапазонами данных обработчик по умолчанию драйвера порта всегда выбирает наибольшее значение в области пересечения каждого параметра:
Если пересечение охватывает более одной допустимой частоты выборки (например, 11, 22 и 44 кГц), обработчик по умолчанию выбирает самую высокую частоту.
Если пересечение охватывает несколько допустимых битов на выборку (8, 16 и 32 бита), обработчик по умолчанию выбирает наибольшее значение.
Если пересечение охватывает как моно, так и стереоформаты, обработчик по умолчанию выбирает стерео.
Если обработчик по умолчанию выбирает формат, который является неудовлетворительным, драйвер адаптера может отклонить формат, отказав в вызове NewStream (например, см. IMiniportWavePci::NewStream), когда SysAudio пытается создать пиновое соединение с форматом. Если вызов завершается сбоем, SysAudio не будет продолжать искать пересечения данных. Вместо этого он попытается установить соединение, перебирая список форматов PCM, поддерживаемых системными фильтрами, такими как KMixer, до тех пор, пока не найдет тот, который может поддерживать выходной контакт адаптера. Список упорядочен так, что форматы с более высоким качеством идут первыми. Как и раньше, адаптер отклоняет неудовлетворительные форматы в списке, завершив вызовы NewStream для этих форматов.