Minidrivers de arquitectura del controlador de difusión

Minidrivers de arquitectura del controlador de difusión (BDA) controla el hardware que realiza las siguientes operaciones:

  • Ajuste de una señal de difusión digital

  • Degradación de la señal digital

  • Captura de fotogramas de la señal digital

  • Desmultiplexar la señal en secuencias de vídeo, audio y datos

Los minidrivers de BDA son minidriveres AVStream que se ejecutan en el módulo AVStream del controlador de streaming de kernel ks.sys. AVStream es un controlador de clase que proporciona un modelo de clase de streaming de kernel unificado para minidriveres de audio y vídeo, y que admite el uso de objetos COM sin modificar los archivos binarios de minidriver existentes. El controlador de clase AVStream proporciona gran parte del comportamiento predeterminado necesario para que el filtro de un minidriver funcione como filtro compatible con el streaming del kernel WDM. Para simplificar la tarea de escribir minidrivers de BDA, puede usar la biblioteca de compatibilidad de BDA (Bdasup.lib) de funciones que se incluyen en el Kit de controladores de Microsoft Windows (WDK). Esta biblioteca proporciona un amplio control predeterminado para los conjuntos de métodos y propiedades del minidriver de BDA.

Normalmente, los escritores de controladores solo tienen que codificar las estructuras de plantillas estáticas adecuadas, registrarlas con la biblioteca de compatibilidad de BDA y, a continuación, permitir que la biblioteca proporcione control predeterminado para todas las propiedades y métodos. En algunos casos, un minidriver de BDA debe interceptar una solicitud de propiedad o método y realizar las operaciones adecuadas.

En la ilustración siguiente se muestra información general sobre la arquitectura de los minidrivers de BDA:

información general del diagrama de la arquitectura de minidriver bda.

En las secciones siguientes se describen los detalles de implementación de un minidriver de BDA, se describen los detalles de algunos conjuntos de propiedades y métodos, y se incluyen código de ejemplo que muestra cómo interceptar determinadas propiedades y métodos:

Inicialización de un minidriver de BDA

Iniciar un minidriver de BDA

Creación de tablas de distribución

Definición de tablas de Automatización

Inicialización de un filtro BDA

Usar conjuntos de métodos y propiedades BDA

Almacenamiento en caché de información de patillas para DirectShow

Protección de un minidriver de BDA

Conexión entre patillas de filtros para minidrivers de BDA