Anclar Data-Range y propiedades de intersección
Varias solicitudes de propiedad proporcionan información sobre los formatos de datos de las secuencias de audio que un dispositivo de audio puede controlar en sus patillas de entrada y salida.
Los formatos de datos de secuencia de audio que un pin es capaz de admitir se expresan en una matriz KSMULTIPLE_ITEM de estructuras derivadas de KSDATARANGE. La compatibilidad con el intervalo de datos de anclaje se expone a través de las tres propiedades KSPROPSETID_Pin siguientes en el filtro:
KSPROPERTY_PIN_DATARANGES Esta propiedad informa de intervalos de datos que son estáticos y representan todos los formatos posibles admitidos. Normalmente, los intervalos de datos se encuentran en una matriz estática en el controlador del adaptador. KSPROPERTY_PIN_CONSTRAINEDDATARANGES Esta propiedad informa de intervalos de datos que son dinámicos y representan el subconjunto de formatos admitidos en el momento de la solicitud de propiedad. El controlador de propiedades debe contener la lógica para decidir qué formatos es capaz de admitir en tiempo de ejecución. Por ejemplo, una implementación de hardware podría tener restricciones DMA que no permiten compatibilidad con dúplex completo en determinadas combinaciones de formato. KSPROPERTY_PIN_DATAINTERSECTION Esta propiedad selecciona un formato de datos de una lista de intervalos de datos. La selección se basa en las funcionalidades dinámicas y el formato se toma del subconjunto de formatos que el controlador puede admitir en el momento de la solicitud de propiedad. Para usar esta propiedad, el llamador proporciona una matriz de intervalos de datos. A partir del primer elemento, el controlador de propiedades busca en la matriz hasta que encuentra un intervalo de datos que actualmente es capaz de admitir. Si se ejecuta correctamente, el controlador genera un formato de datos que se toma de ese intervalo de datos y devuelve STATUS_SUCCESS. De lo contrario, el controlador devuelve STATUS_NO_MATCH. Los componentes del sistema de audio usan las propiedades KSPROPERTY_PIN_DATARANGES y KSPROPERTY_PIN_DATAINTERSECTION. Los controladores miniport deben admitir estas propiedades. La compatibilidad con KSPROPERTY_PIN_CONSTRAINEDDATARANGES es opcional.
Para obtener más información, vea Formatos de datos de audio y intervalos de datos.
Nota El KSPROPERTY_PIN_DATARANGES y KSPROPERTY_PIN_CONSTRAINEDDATARANGES comienzan en una dirección alineada con 8 bytes.