Обработчики Data-Intersection
В этом разделе рассматриваются обработчики пересечения данных в аудиодрайверах microsoft Windows Driver Model (WDM). Более широкое обсуждение обработки пересечения данных для фильтров KS в целом см. в разделе Пересечения DataRange в AVStream.
В более ранних версиях Windows, таких как Windows XP, системный драйвер SysAudio создает виртуальное звуковое устройство , соединяя пары контактов аудиофильтра для формирования графа фильтра звука. Прежде чем исходный контакт на одном фильтре можно будет подключить к контакту приемника другого, SysAudio должен согласовать общий формат, который два контакта могут использовать для обмена данными. Сведения об этом согласовании в значительной степени делегируются обработчикам пересечения данных, которые реализуются в отдельных фильтрах.
Аналогичным образом, в Windows Vista и более поздних версиях звуковой подсистеме необходимо согласовать общий формат потока с обработчиком пересечения данных в фильтре волн, который представляет устройство отрисовки звука.
Драйвер адаптера создает фильтр WaveRT для звукового устройства, привязывая один из его драйверов мини-порта к соответствующему драйверу порта из Portcls.sys. Драйвер порта содержит обработчик пересечения данных по умолчанию, но обработчик по умолчанию всегда предоставляет собственному обработчику пересечения данных драйвера мини-порта первую возможность определить общий формат. Однако если собственный обработчик отклоняет эту возможность, формат определяет обработчик драйвера порта по умолчанию.
Обработчик пересечения данных драйвера порта по умолчанию предназначен для работы с наиболее распространенными аппаратными функциями. Для простых звуковых устройств обработчик по умолчанию предоставляет удобную альтернативу реализации собственного обработчика в драйвере адаптера. Однако адаптерам с более сложными функциями могут потребоваться собственные обработчики, чтобы предоставить все возможности оборудования.
В оставшейся части этого раздела описываются некоторые ограничения обработчика пересечения данных по умолчанию драйвера порта и представлены методы, необходимые для разработки собственного обработчика пересечения данных для драйвера адаптера. Рассматриваются следующие темы:
Обработчики Data-Intersection по умолчанию
Собственные обработчики Data-Intersection
Аппаратные ограничения частоты выборки