Propiedades, eventos y métodos de KS

La arquitectura de streaming de kernel admite la interacción entre los minidrivers y los clientes en modo de usuario a través de propiedades, eventos y métodos. Con estas construcciones, los clientes de un objeto KS pueden obtener y establecer el estado del objeto, registrar devoluciones de llamada de notificación para eventos y ejecutar métodos de objeto.

Los clientes solicitan las tres clases de operación de una manera estandarizada. El cliente proporciona una estructura de alias de KSIDENTIFIER en una llamada a DeviceIoControl (que se describe en la documentación de Microsoft Windows SDK) o KsSynchronousDeviceControl.

Las estructuras de alias son KSPROPERTY, KSEVENT y KSMETHOD. Los tres incluyen los siguientes parámetros:

  • Establecimiento

    Las operaciones funcionalmente similares se agrupan en un conjunto. Cada propiedad, evento o conjunto de métodos se identifica mediante un GUID. Microsoft define GUID para operaciones estándar específicas de la tecnología. Los minidrivers pueden definir sus propios GUID para las operaciones personalizadas.

  • Identificador

    Cada operación se especifica mediante un número de identificador dentro del conjunto.

  • Datos de identificación específicos de la operación

    Algunas solicitudes de propiedad requieren datos adicionales. Por ejemplo, las patillas de un dispositivo de audio admiten el conjunto de propiedades KSPROPSETID_Audio . Un pin de audio puede admitir varios canales de audio diferentes. Los clientes que obtienen o establecen determinadas propiedades de KSPROPSETID_Audio deben especificar el canal de audio al que se aplica la solicitud. Las solicitudes de eventos y métodos no requieren datos adicionales.

Los GUID y identificadores de conjunto definidos por Microsoft para las operaciones de uso general se encuentran en el encabezado ks.h. Los GUID estándar e identificadores de determinadas clases de tecnología multimedia se encuentran en ksmedia.h.

Los minidrivers avStream admiten propiedades, eventos y métodos proporcionando un puntero a una estructura de KSAUTOMATION_TABLE en el KSFILTER_DESCRIPTOR o KSPIN_DESCRIPTOR_EX pertinentes. Un KSAUTOMATION_TABLE contiene un puntero a una matriz de objetos KSPROPERTY_SET . Para más información, consulte Definición de tablas de Automatización.

Estas secciones contienen información sobre cómo los minidrivers admiten las tres clases de operación:

Propiedades de KS

Eventos KS

Métodos KS