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:
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
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