KSPROPERTY_JACK_DESCRIPTION3
La propriété KSPROPERTY_JACK_DESCRIPTION3 est implémentée en tant que propriété pin-wise accessible à l’aide du handle de filtre.
Dans les systèmes d’exploitation Windows version 22H2 et ultérieure, la structure KSJACK_DESCRIPTION3 associée peut être utilisée pour spécifier et modifier la configuration actuelle de la prise jack.
Tableau récapitulatif de l’utilisation
Obtenir | Définissez | Cible | Type de descripteur de propriété | Type de valeur de propriété |
---|---|---|---|---|
Oui |
Non |
Fabrique d’épingles (via la poignée de filtre) |
KSMULTIPLE_ITEM suivi d’un tableau de structures KSJACK_DESCRIPTION3 |
La valeur de propriété (instance données) est une KSMULTIPLE_ITEM, suivie d’un tableau de structures KSJACK_DESCRIPTION3.
Valeur de retour
Une demande de propriété KSPROPERTY_JACK_DESCRIPTION3 renvoie une KSMULTIPLE_ITEM suivie d’un tableau de structures N KSJACK_DESCRIPTION3, où N = le nombre de prises associées à l’épingle de pont spécifiée. La liste suivante affiche les éléments retournés par la demande de propriété.
KSMULTIPLE_ITEM. Taille = sizeof(KSMULTIPLE_ITEM) + N * sizeof(KSJACK_DESCRIPTION3)
KSMULTIPLE_ITEM. Nombre = N
KSJACK_DESCRIPTION3[0]
...
KSJACK_DESCRIPTION3[N-1]
Notes
La communication de l’appareil audio change à l’aide de KSJACK_DESCRIPTION3 et de KSPROPERTY_JACK_DESCRIPTION3
Le système audio Windows met en cache les fonctionnalités d’appareil audio lors de la création du point de terminaison audio. Ces valeurs mises en cache concernent des fonctionnalités telles que la présence d’un moteur audio HW, la prise en charge du format, l’ID de conteneur, les caractéristiques de taille de mémoire tampon, etc. Ces valeurs mises en cache sont conservées pendant la durée de l’installation de Windows. Ils sont actualisés uniquement lorsque le pilote audio est mis à jour ou lors d’une mise à niveau du système d’exploitation.
Avec KSJACK_DESCRIPTION3, le système audio Windows fournit un mécanisme permettant au pilote audio de demander que toutes les valeurs mises en cache soient ignorées et actualisées. La demande peut être déclenchée par des modifications apportées aux fonctionnalités du périphérique audio, telles que les contraintes de ressources.
Chaque fois que le pilote modifie le contenu de KSJACK_DESCRIPTION3 au moment de l’exécution, il déclenche l’événement KSEVENT_PINCAPS_JACKINFOCHANGE existant.
Le système audio Windows conserve la dernière valeur ConfigId signalée mise en cache sur le point de terminaison audio. La valeur ConfigId est récupérée en réponse à KSEVENT_PINCAPS_JACKINFOCHANGE événement et pendant le traitement normal du point de terminaison audio au démarrage du système, au redémarrage du service Du générateur de points de terminaison audio, à la mise à jour du pilote audio ou aux changements d’état de l’interface pour le point de terminaison.
Si la valeur ConfigId récupérée diffère de la valeur précédemment stockée, le système audio Windows ignore toutes les fonctionnalités de point de terminaison précédemment mises en cache et les actualise.
L’utilisation recommandée consiste à définir plusieurs configurations de point de terminaison audio dans le pilote contrôlé par la valeur ConfigId (masque de bits ou énumération). Par exemple, ConfigId de 1 peut indiquer la présence d’un nœud de moteur audio, alors que ConfigId 2 ne signale pas un nœud de moteur audio. Le ConfigId utilisé par le pilote est partagé avec le système audio Windows via KSPROPERTY_JACK_DESCRIPTION3 et agit pour synchroniser le point de terminaison avec les fonctionnalités mises en cache par le système audio Windows.
La valeur du ConfigId est opaque pour Windows. Le pilote audio peut utiliser un horodatage ou une valeur d’incrémentation choisie au moment de l’exécution à la place d’un masque de bits ou d’une énumération, comme suggéré ci-dessus. Cette stratégie n’est pas recommandée, car elle peut entraîner des actualisations de point de terminaison inutiles pendant le démarrage ou des modifications de l’interface pour synchroniser la dernière valeur ConfigId stockée avec la valeur nouvellement signalée, même lorsque les fonctionnalités du point de terminaison sont inchangées. Cette approche peut également augmenter les risques de désynchronisation du pilote et de Windows, ce qui peut entraîner des échecs de lecture audio.
Le mécanisme utilisé pour actualiser les valeurs mises en cache sur le point de terminaison lorsque le ConfigId change est le même que celui utilisé pour les mises à niveau du système d’exploitation et les Mises à jour de pilote. Un nouveau point de terminaison avec un ID différent est créé, qui contiendra les valeurs mises en cache actualisées qui correspondent aux nouveaux paramètres ConfigId pour le point de terminaison, les paramètres utilisateur sont ensuite copiés de l’ancien point de terminaison vers le nouveau point de terminaison et enfin l’ancien point de terminaison est supprimé. Pour plus d’informations, sur le processus de migration du point de terminaison audio dans les mises à niveau du système d’exploitation, consultez Mises à niveau du système d’exploitation.
Configuration requise
Client minimal pris en charge |
Disponible dans les systèmes d’exploitation Windows version 22H2 et ultérieure. |
En-tête |
Ksmedia.h |