KSPROPERTY_PIN_MODEDATAFORMATS
Los clientes usan la propiedad KSPROPERTY_PIN_MODEDATAFORMATS para recuperar una lista de los formatos admitidos para cada modo de procesamiento de señal de audio admitido para los pines creados por el generador de patillas.
Tabla de resumen de uso
Obtener | Set | Destino | Tipo de descriptor de propiedad | Tipo de valor de propiedad |
---|---|---|---|---|
Sí | No | Filtrar | KSP_PIN, seguido de un GUID de modo | KSMULTIPLE_ITEM estructura, seguida de una secuencia de estructuras KSDATAFORMAT |
Observaciones
Los clientes usan esta propiedad para recuperar una lista de formatos admitidos para un modo de procesamiento de señal de audio específico mediante patillas en las que crea una instancia del generador de patillas.
Especifique esta propiedad con KSP_PIN seguido del GUID de modo, donde el miembro KSP_PIN y el GUID de modo especifican el generador de patillas y el modo para el que se va a devolver la lista de formatos.
KSPROPERTY_PIN_MODEDATAFORMATS devuelve los formatos admitidos como una estructura de KSMULTIPLE_ITEM donde cada elemento de la estructura es un ULONGLONG con el desplazamiento a una estructura KSDATAFORMAT específica en el valor desde el principio del KSMULTIPLE_ITEM.
El valor KSMULTIPLE_ITEM::Size incluye el tamaño del KSMULTIPLE_ITEM y los tamaños de cada KSDATAFORMAT.
El valor KSMULTIPLE_ITEM::Count incluye el recuento de índices para cada KSDATAFORMAT.
En casi todos los casos, las estructuras KSDATAFORMAT que se devuelven realmente se KSDATAFORMAT_WAVEFORMATEXTENSIBLE o KSDATAFORMAT_WAVEFORMATEX estructuras con un tamaño que coincida.
Por ejemplo, un valor para un generador de patillas que admite dos formatos sería similar al siguiente.
{
// Example Property Value Result, with 2 formats
// When computing the FormatSize make sure to align the size to ULONGLONG
// KSDATAFORMAT::Size is WDF_ALIGN_SIZE_UP(KsDataFormat->FormatSize, sizeof(ULONGLONG));
// Size of the KSMULTIPLE_ITEM structure + Size of two ULONG offset values + Size of first format + Size of second format
sizeof(KSMULTIPLE_ITEM) + sizeof(ULONG)*2 + (First KSDATAFORMAT::Size) + (Second KSDATAFORMAT::Size),
// Number of formats being returned
2,
// Offset of the first format from the beginning of the Property Value
2 * sizeof(ULONG),
// Offset of the second format from the beginning of the Property Value
2 * sizeof(ULONG) + (First KSDATAFORMAT::Size),
// First format structure
{(First KSDATAFORMAT)},
// Second format structure
{(Second KSDATAFORMAT)}
}
Para obtener más información, vea Extensible Wave-Format Descriptores.
Recomendaciones de formato y búfer de modo admitidos
A partir de Windows 10, versión 2004, el uso de KSPROPERTY_PIN_MODEDATAFORMATS y KSAUDIO_PACKETSIZE_CONSTRAINTS2 es el enfoque preferido para que los controladores notifiquen los formatos de modo de procesamiento de señal de audio admitidos y las restricciones de tamaño del búfer. El uso de este enfoque permite al sistema de audio de Windows recuperar eficazmente las funcionalidades de streaming del punto de conexión sin tener que crear numerosas secuencias para detectar los formatos y los tamaños de búfer admitidos por el punto de conexión.
Requisitos
Versión: Disponible a partir de Windows 10, versión 2004
Encabezado: ks.h (incluya Ks.h)