Compartir a través de


KSPROPERTY_JACK_DESCRIPTION3

La propiedad KSPROPERTY_JACK_DESCRIPTION3 se implementa como una propiedad de anclaje a la que se tiene acceso mediante el identificador de filtro.

En la versión 22H2 y los sistemas operativos Windows posteriores, se puede usar la estructura de KSJACK_DESCRIPTION3 asociada para especificar y cambiar la configuración actual del conector.

Tabla de resumen de uso

Obtener Set Destino Tipo de descriptor de propiedad Tipo de valor de propiedad

No

Generador de patillas (a través del identificador de filtro)

KSP_PIN

KSMULTIPLE_ITEM seguido de una matriz de estructuras de KSJACK_DESCRIPTION3

El valor de propiedad (datos de instancia) es un KSMULTIPLE_ITEM, seguido de una matriz de estructuras KSJACK_DESCRIPTION3.

Valor devuelto

Una solicitud de propiedad KSPROPERTY_JACK_DESCRIPTION3 devuelve un KSMULTIPLE_ITEM seguido de una matriz de estructuras de N KSJACK_DESCRIPTION3, donde N = el número de conectores asociados con el pin de puente especificado. En la lista siguiente se muestran los elementos devueltos por la solicitud de propiedad.

KSMULTIPLE_ITEM. Size = sizeof(KSMULTIPLE_ITEM) + N * sizeof(KSJACK_DESCRIPTION3)

KSMULTIPLE_ITEM. Recuento = N

KSJACK_DESCRIPTION3[0]

...

KSJACK_DESCRIPTION3[N-1]

Observaciones

Comunicación de cambios en el dispositivo de audio mediante KSJACK_DESCRIPTION3 y KSPROPERTY_JACK_DESCRIPTION3

El sistema de audio de Windows almacena en caché las funcionalidades del dispositivo de audio durante la creación del punto de conexión de audio. Estos valores almacenados en caché son para funcionalidades como la presencia de un motor de audio HW, compatibilidad con formato, identificador de contenedor, características de tamaño de búfer, etc. Estos valores almacenados en caché se conservan durante la vida útil de la instalación de Windows. Solo se actualizan cuando se actualiza el controlador de audio o durante una actualización del sistema operativo.

Con KSJACK_DESCRIPTION3, el sistema de audio de Windows proporciona un mecanismo para que el controlador de audio solicite que se descarten y actualicen todos los valores almacenados en caché. La solicitud se puede desencadenar mediante cambios en las funcionalidades del dispositivo de audio, como las restricciones de recursos.

Siempre que el controlador cambie el contenido de KSJACK_DESCRIPTION3 en tiempo de ejecución, el controlador desencadenará el evento de KSEVENT_PINCAPS_JACKINFOCHANGE existente.

El sistema de audio de Windows mantiene el último valor de ConfigId notificado almacenado en caché en el punto de conexión de audio. El valor configId se recupera en respuesta a KSEVENT_PINCAPS_JACKINFOCHANGE evento y durante el procesamiento normal del punto de conexión de audio en el arranque del sistema, el reinicio del servicio Audio Endpoint Builder, la actualización del controlador de audio o los cambios de estado de la interfaz para el punto de conexión.

Si el valor de ConfigId recuperado difiere del valor almacenado anteriormente, el sistema de audio de Windows descartará todas las funcionalidades de punto de conexión almacenadas previamente en caché y las actualizará.

El uso recomendado es definir varias configuraciones de punto de conexión de audio dentro del controlador que se controla mediante el valor ConfigId (máscara de bits o enumeración). Por ejemplo, ConfigId de 1 puede indicar la presencia de un nodo de motor de audio, mientras que ConfigId 2 no notificaría un nodo del motor de audio. El configId que usa el controlador se comparte con el sistema de audio de Windows a través de KSPROPERTY_JACK_DESCRIPTION3 y actúa para sincronizar el punto de conexión con las funcionalidades almacenadas en caché por el sistema de audio de Windows.

El valor de ConfigId es opaco para Windows. El controlador de audio podría usar una marca de tiempo o un valor de incremento elegido en tiempo de ejecución en lugar de una máscara de bits o enumeración como se sugirió anteriormente. Esta estrategia no se recomienda, ya que puede dar lugar a actualizaciones innecesarias del punto de conexión durante el arranque o los cambios de interfaz para sincronizar el último valor configId almacenado con el valor recién notificado, incluso cuando las funcionalidades del punto de conexión no se modifican. Este enfoque también puede aumentar las posibilidades de que el controlador y Windows no se sincronicen, lo que puede provocar errores de reproducción de audio.

El mecanismo usado para actualizar los valores almacenados en caché en el punto de conexión cuando el ConfigId cambia es el mismo que se usa para las actualizaciones del sistema operativo y el controlador Novedades. Se crea un nuevo punto de conexión con un identificador diferente que contendrá los valores almacenados en caché actualizado que coinciden con la nueva configuración de ConfigId para el punto de conexión, la configuración de usuario se copia del punto de conexión anterior al nuevo punto de conexión y, por último, se elimina el punto de conexión anterior. Para obtener más información, en el proceso de migración de puntos de conexión de audio en las actualizaciones del sistema operativo, consulte Actualizaciones del sistema operativo.

Requisitos

Cliente mínimo compatible

Disponible en la versión 22H2 y en los sistemas operativos Windows posteriores.

Encabezado

Ksmedia.h

Vea también

KSJACK_DESCRIPTION3

KSMULTIPLE_ITEM

Actualizaciones del sistema operativo