KSPROPERTY_PIN_MODEDATAFORMATS
Les clients utilisent la propriété KSPROPERTY_PIN_MODEDATAFORMATS pour récupérer une liste des formats pris en charge pour chaque mode de traitement du signal audio pris en charge pour les broches instanciées par la fabrique de broches.
Tableau récapitulatif de l’utilisation
Obtenir | Définissez | Cible | Type de descripteur de propriété | Type valeur de propriété |
---|---|---|---|---|
Oui | Non | Filtrer | KSP_PIN, suivi d’un GUID de mode | KSMULTIPLE_ITEM structure, suivie d’une séquence de structures KSDATAFORMAT |
Notes
Les clients utilisent cette propriété pour récupérer une liste des formats pris en charge pour un mode de traitement de signal audio spécifique par des broches instanciées par la fabrique de broches.
Spécifiez cette propriété à l’aide de KSP_PIN suivi du GUID de mode, où le membre KSP_PIN et le GUID de mode spécifient la fabrique de broches et le mode pour lesquels retourner la liste des formats.
KSPROPERTY_PIN_MODEDATAFORMATS retourne les formats pris en charge en tant que structure KSMULTIPLE_ITEM où chaque élément de la structure est un ULONGLONG avec le décalage vers une structure KSDATAFORMAT spécifique dans la valeur du début de la KSMULTIPLE_ITEM.
La valeur KSMULTIPLE_ITEM::Size inclut la taille du KSMULTIPLE_ITEM et les tailles de chaque KSDATAFORMAT.
La valeur KSMULTIPLE_ITEM::Count inclut le nombre d’index pour chaque KSDATAFORMAT.
Dans presque tous les cas, les structures KSDATAFORMAT retournées seront en fait KSDATAFORMAT_WAVEFORMATEXTENSIBLE ou KSDATAFORMAT_WAVEFORMATEX structures avec une taille qui correspond.
Par exemple, une valeur pour une fabrique de broches qui prend en charge deux formats ressemblerait à ce qui suit.
{
// 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)}
}
Pour plus d’informations, consultez Descripteurs extensibles Wave-Format.
Recommandations relatives au format du mode pris en charge et à la mémoire tampon
À compter de Windows 10, version 2004, l’utilisation de KSPROPERTY_PIN_MODEDATAFORMATS et de KSAUDIO_PACKETSIZE_CONSTRAINTS2 est l’approche recommandée pour les pilotes pour signaler les formats de mode de traitement du signal audio pris en charge et les contraintes de taille de mémoire tampon. L’utilisation de cette approche permet au système audio Windows de récupérer efficacement les fonctionnalités de streaming du point de terminaison sans avoir à créer de nombreux flux pour découvrir les formats et les tailles de mémoire tampon prises en charge par le point de terminaison.
Spécifications
Version: Disponible à partir de Windows 10, version 2004
En-tête : ks.h (include Ks.h)