Собственные обработчики Data-Intersection
Вы можете преодолеть ограничения обработчика пересечения данных по умолчанию, написав собственный обработчик для адаптера. Собственный обработчик реализуется как метод IMiniport::D ataRangeIntersection в объекте драйвера miniport. Примеры методов DataRangeIntersection см. в примерах драйверов адаптера в пакете драйверов Microsoft Windows (WDK).
Собственный обработчик пересечения данных может компенсировать нестандартные аппаратные функции, которые не могут быть адекватно указаны в структуре KSDATARANGE_AUDIO . Например, пример драйвера адаптера AC97 в WDK управляет оборудованием, которое может поддерживать два или более звуковых каналов во время воспроизведения, но не поддерживает моно. Метод DataRangeIntersection образца определяет, ограничен ли диапазон данных для источника другого фильтра моно (то есть MaximumChannels< 2). Если да, вызов завершается ошибкой, возвращая STATUS_NO_MATCH.
Собственный обработчик пересечения данных имеет возможность обрабатывать пересечения данных на некоторых своих контактах и позволяет обработчику пересечения данных драйвера порта по умолчанию обрабатывать пересечения данных на других контактах.
В оставшейся части этого раздела представлены рекомендации по реализации собственных обработчиков пересечения данных.