Compartir a través de


Solicitudes de propiedades de audio

Los clientes de un controlador de audio de Microsoft Windows Driver Model (WDM) pueden enviar solicitudes de propiedades KS a los filtros y pines KS que el controlador ha instanciado. Por ejemplo, un cliente en modo de usuario puede enviar una solicitud de propiedad KS llamando a la función DeviceIoControl (consulte la documentación de Microsoft Windows SDK) con un código de control de E/S de IOCTL_KS_PROPERTY. Esta función envía un IRP que contiene la solicitud de propiedad al filtro o al objeto pin especificado.

Los controladores de audio admiten solicitudes de obtención, establecimiento y soporte técnico básico en propiedades (KSPROPERTY_TYPE_GET, KSPROPERTY_TYPE_SET y KSPROPERTY_TYPE_BASICSUPPORT). Para obtener más información, vea Conjuntos de propiedades de controladores de audio.

Un cliente puede enviar solicitudes para tres tipos de propiedades: propiedades de filtro, propiedades de anclaje y propiedades de nodo. Para obtener más información, vea Propiedades de filtro, pin y nodo.

Al enviar una solicitud de propiedad de filtro a un objeto de filtro, el cliente especifica el filtro de destino por su identificador de instancia (consulte Generadores de filtros). Del mismo modo, al enviar una solicitud de propiedad del pin a un objeto pin, el pin de destino se especifica mediante su identificador de instancia (vea Generadores de patillas). Cualquier tipo de solicitud contiene una estructura KSPROPERTY que especifica lo siguiente:

  • Un GUID que identifica el conjunto de propiedades

  • Índice que identifica un elemento de propiedad dentro del conjunto de propiedades especificado

  • Indicadores que indican el tipo de solicitud de propiedad (obtener, establecer o soporte básico)

Las propiedades relacionadas se recopilan juntas para formar un conjunto de propiedades. Una propiedad determinada se identifica mediante su conjunto de propiedades y por un índice que especifica su posición dentro de ese conjunto.

Una solicitud de propiedad de nodo contiene una estructura KSNODEPROPERTY , que combina una estructura KSPROPERTY y un identificador de nodo. Dependiendo de la propiedad del nodo, el destino de la solicitud de la propiedad es una instancia de filtro o una instancia de pin.

Si un filtro puede crear más de una instancia de un tipo de nodo determinado, un identificador de pin especifica el destino de la solicitud. El identificador señala la instancia de pin al principio o al final de la ruta de acceso de datos en la que reside la instancia del nodo. En el caso de un filtro que contenga un nodo SUM o MUX (consulte KSNODETYPE_SUM y KSNODETYPE_MUX), se aplican las reglas siguientes:

  • Si la propiedad pertenece a un nodo que se encuentra aguas abajo de un pin de sink (entrada) y aguas arriba desde el nodo SUM o MUX, la solicitud de propiedad se envía al pin de sink.

  • Si la propiedad pertenece a un nodo que se encuentra cuesta abajo de un nodo SUM o MUX y cuesta arriba hacia un pin de origen (salida), la solicitud de propiedad se envía al pin de origen. (Además, se envía una solicitud de propiedad para un nodo SUM o MUX al pin de origen).

Con estas convenciones, se puede identificar un nodo determinado en una ruta de acceso de datos determinada de forma única.

Para obtener información sobre el uso de la API de mezclador para recorrer los nodos en una ruta de acceso de datos, consulte Kernel Streaming Topology to Audio Mixer API Translation (Topología de streaming de kernel a traducción de API de mezclador de audio).