Partager via


PKEY_AudioDevice_NeverSetAsDefaultEndpoint

Vous pouvez décider de configurer certains appareils afin qu’ils ne puissent jamais être sélectionnés comme appareils par défaut. Il s’agit, par exemple, de lignes de modem et de périphériques audio médicaux. Windows 7 et versions ultérieures de Windows fournissent la clé de Registre PKEY_AudioDevice_NeverSetAsDefaultEndpoint pour vous permettre d’empêcher la sélection du point de terminaison d’un appareil comme point de terminaison par défaut.

L’extrait de fichier INF suivant montre comment utiliser PKEY_AudioDevice_NeverSetAsDefaultEndpoint pour configurer un point de terminaison afin qu’il ne puisse jamais être sélectionné comme valeur par défaut.

[Version]
...
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
...

[USBAudio]
...

[USBAudio.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,"GLOBAL",USBAudio.Interface
...

[USBAudio.Interface]
AddReg=Xyz.AddReg
...

;; AddReg section to setup endpoint so that
;; it cannot be selected as the default endpoint.
[Xyz.AddReg]
HKR,"EP\\n",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_GUID%
HKR,"EP\\n",%PKEY_AudioDevice_NeverSetAsDefaultEndpoint%,0x00010001,NeverSetAsDefaultEndpointMaskValue
...

[Strings]
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
PKEY_AudioEndpoint_Association="{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioDevice_NeverSetAsDefaultEndpoint = "{F3E80BEF-1723-4FF2-BCC4-7F83DC5E46D4},3"
...

Dans l’exemple précédent, NeverSetAsDefaultEndpointMaskValue représente une valeur de masque DWORD qui est une combinaison d’indicateurs de rôle d’appareil et d’indicateurs de flux de données.

L’extrait de code de fichier INF suivant montre comment un appareil de sortie non défini (KSNODETYPE_OUTPUT_UNDEFINED) est configuré afin que son point de terminaison ne soit jamais sélectionné par défaut, quel que soit le rôle d’appareil et la direction du flux de données.

[Version]
...
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
...

[USBAudio]
...

[USBAudio.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,"GLOBAL",USBAudio.Interface
...

[USBAudio.Interface]
AddReg=MDVAD.EPProperties.AddReg
...

;; AddReg section to setup endpoint so that
;; it cannot be selected as the default endpoint.
[MDVAD.EPProperties.AddReg]
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_OUTPUT_UNDEFINED%
HKR,"EP\\0",%PKEY_AudioDevice_NeverSetAsDefaultEndpoint%,0x00010001,0x00000305
...

[Strings]
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSNODETYPE_OUTPUT_UNDEFINED="{DFF21CE0-F70F-11D0-B917-00A0C9223196}"
PKEY_AudioEndpoint_Association="{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioDevice_NeverSetAsDefaultEndpoint = "{F3E80BEF-1723-4FF2-BCC4-7F83DC5E46D4},3"

Dans l’exemple précédent, 0x00000305 est la combinaison OR au niveau du bit de tous les indicateurs et masques disponibles pour PKEY_AudioDevice_NeverSetAsDefaultEndpoint. Le tableau suivant présente les indicateurs et les masques, ainsi que leurs valeurs.

Indicateur ou masque de point de terminaison Valeur

FLOW_MASK_CAPTURE

0x00000200

FLOW_MASK_RENDER

0x00000100

ROLE_MASK_COMMUNICATION

0x00000004

ROLE_MASK_CONSOLE

0x00000001