Compartir a través de


Solicitudes de propiedad audio

Los clientes de un controlador de audio de Microsoft Windows Driver Model (WDM) pueden enviar solicitudes de propiedades KS a los filtros y patillas KS que el controlador ha creado instancias. 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 objeto pin o filtro 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, anclaje y nodo.

Al enviar una solicitud filter-property a un objeto filter, el cliente especifica el filtro de destino por su identificador de instancia (consulte Filter Factorys). Del mismo modo, al enviar una solicitud de propiedad pin a un objeto pin, el pin de destino se especifica mediante su identificador de instancia (consulte Pin Factorys). Cualquier tipo de solicitud contiene una estructura KSPROPERTY que especifica lo siguiente:

  • GUID que identifica el conjunto de propiedades

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

  • Marcas que indican el tipo de solicitud de propiedad (get, set o basic-support)

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 node-property contiene una estructura KSNODEPROPERTY , que combina una estructura KSPROPERTY y un identificador de nodo. Dependiendo de la propiedad node, el destino de la solicitud de 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 patilla especifica el destino de la solicitud. El identificador identifica la instancia de anclaje 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 de bajada desde un anclaje receptor (entrada) y ascendente desde el nodo SUM o MUX, la solicitud de propiedad se envía al anclaje receptor.

  • Si la propiedad pertenece a un nodo que se encuentra de bajada desde un nodo SUM o MUX y ascendente desde 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, un nodo determinado en una ruta de acceso de datos determinada se puede identificar de forma única.

Para obtener información sobre el uso de la API de mezclador para recorrer los nodos de 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).