Минидрайверы архитектуры широковещательных драйверов

Микродрайверы архитектуры широковещательного драйвера (BDA) управляют оборудованием, выполняющим следующие операции:

  • Настройка сигнала цифровой трансляции

  • Демодуляция цифрового сигнала

  • Захват кадров цифрового сигнала

  • Демультиплексирование сигнала на видео, аудио и поток данных

Минидрайверы BDA — это минидрайверы AVStream, которые выполняются под модулем AVStream в драйвере потокового ввода/вывода ядра ks.sys. AVStream — это драйвер класса, который предоставляет унифицированную модель класс потоковой передачи ядра как для аудио, так и для видео миндрайверов, а также поддерживает использование объектов COM без изменения существующих двоичных файлов миндрайверов. Драйвер класса AVStream обеспечивает большую часть поведения по умолчанию, необходимого для работы фильтра минидрайвера в качестве фильтра, соответствующего потоковой передаче ядра WDM. Чтобы упростить задачу написания мини-дисководов BDA, можно использовать библиотеку поддержки BDA (Bdasup.lib) функций, включенных в пакет драйверов Microsoft Windows (WDK). Эта библиотека обеспечивает обширную поддержку по умолчанию для наборов свойств и методов минидрайвера BDA.

Как правило, разработчики драйверов должны кодировать только соответствующие статические структуры шаблонов, регистрировать их в библиотеке поддержки BDA, а затем позволить библиотеке предоставлять обработку по умолчанию для всех свойств и методов. В некоторых случаях минидрайвер BDA должен перехватывать запрос свойства или метода и выполнять соответствующие операции.

На следующем рисунке показан обзор архитектуры для минидрайверов BDA.

Обзор диаграммы архитектуры минидрайвера BDA.

В следующих разделах описываются сведения о реализации минидрайвера BDA, обсуждаются сведения о некоторых наборах свойств и методов и содержатся примеры кода, демонстрирующие, как перехватывать определенные свойства и методы.

Инициализация минидрайвера BDA

Запуск мини-драйвера BDA

Создание таблиц диспетчеризации

Определение таблиц автоматизации

Инициализация фильтра BDA

Использование наборов свойств и методов BDA

Кэширование информации о пинах для DirectShow

Защита минидрайвера BDA

Соединение выводов фильтров для минидрайверов BDA