Partager via


PKEY_AudioDevice_EnableEndpointByDefault

Dans Windows 7 et les versions ultérieures de Windows, le générateur de points de terminaison classe les points de terminaison en facteurs de forme. Ces facteurs de forme sont basés sur le GUID KSNODETYPE d’une broche sur le filtre de diffusion en continu du noyau (KS) auquel le point de terminaison est connecté. Lorsque le générateur de points de terminaison audio énumère certains points de terminaison, par exemple ceux avec des types de facteur de forme tels que UnknownFormFactor, le générateur de points de terminaison crée ces points de terminaison comme désactivés et masqués. Vous devez donc utiliser le programme Sound dans Panneau de configuration pour activer ces points de terminaison avant de pouvoir les utiliser.

Si vous souhaitez remplacer ce comportement afin que votre point de terminaison soit créé comme activé ou désactivé par défaut, Windows 7 fournit la clé de Registre PKEY_AudioDevice_EnableEndpointByDefault qui vous permet de le faire.

Le générateur de points de terminaison crée des points de terminaison dont l’une des valeurs KSNODETYPE suivantes est désactivée et masquée.

Type de nœud KS Facteur de forme

KSNODETYPE_ANALOG_CONNECTOR

UnknownFormFactor

KSCATEGORY_AUDIO

UnknownFormFactor

KSNODETYPE_BIDIRECTIONAL_UNDEFINED

UnknownFormFactor

KSNODETYPE_EMBEDDED_UNDEFINED

UnknownFormFactor

KSNODETYPE_EQUALIZATION_NOISE

UnknownFormFactor

KSNODETYPE_EXTERNAL_UNDEFINED

UnknownFormFactor

KSNODETYPE_INPUT_UNDEFINED

UnknownFormFactor

KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE

UnknownFormFactor

KSNODETYPE_OUTPUT_UNDEFINED

UnknownFormFactor

KSNODETYPE_TELEPHONY_UNDEFINED

UnknownFormFactor

Dans Windows 7 et les versions ultérieures de Windows, les points de terminaison avec un facteur de forme LineLevel mais avec un KSNODETYPE non égal à KSNODETYPE_LINE_CONNECTOR sont également créés comme désactivés et masqués. Les points de terminaison suivants appartiennent à cette catégorie.

Type de nœud KS Facteur de forme

KSNODETYPE_1394_DA_STREAM

LineLevel

KSNODETYPE_1394_DV_STREAM_SOUNDTRACK

LineLevel

KSNODETYPE_ANALOG_TAPE

LineLevel

KSNODETYPE_CABLE_TUNER_AUDIO

LineLevel

KSNODETYPE_CD_PLAYER

LineLevel

KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE

LineLevel

KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE

LineLevel

KSNODETYPE_DSS_AUDIO

LineLevel

KSNODETYPE_DVD_AUDIO

LineLevel

KSNODETYPE_LEGACY_AUDIO_CONNECTOR

LineLevel

KSNODETYPE_MINIDISK

LineLevel

KSNODETYPE_MULTITRACK_RECORDER

LineLevel

KSNODETYPE_PHONOGRAPH

LineLevel

KSNODETYPE_RADIO_RECEIVER

LineLevel

KSNODETYPE_RADIO_TRANSMITTER

LineLevel

KSNODETYPE_SATELLITE_RECEIVER_AUDIO

LineLevel

KSNODETYPE_SYNTHESIZER

LineLevel

KSNODETYPE_TV_TUNER_AUDIO

LineLevel

KSNODETYPE_VCR_AUDIO

LineLevel

KSNODETYPE_VIDEO_DISC_AUDIO

LineLevel

L’extrait de code de fichier INF suivant montre comment utiliser PKEY_AudioDevice_EnableEndpointByDefault pour activer ou désactiver un point de terminaison 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 set default behavior of endpoint
[Xyz.AddReg]
HKR,"EP\\n",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_GUID%
HKR,"EP\\n",%PKEY_AudioDevice_EnableEndpointByDefault%,0x00010001,EnableEndpointByDefaultMaskValue
...

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

Dans l’exemple précédent, EnableEndpointByDefaultMaskValue représente une valeur de masque DWORD qui est une combinaison d’un indicateur enable ou disable (FLAG_ENABLE ou FLAG_DISABLE) et d’un indicateur de flux de données (FLOW_MASK_RENDER ou FLOW_MASK_CAPTURE).

L’extrait de fichier INF suivant montre comment un lecteur CD est configuré de sorte qu’il soit activé par défaut et qu’il soit configuré en tant que périphérique d’entrée (FLOW_MASK_CAPTURE).

[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 is used to set default behavior of endpoint for CD player.
;; Enable by default for KSNODETYPE_CD_PLAYER
[MDVAD.EPProperties.AddReg]
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_CD_PLAYER%
HKR,"EP\\0",%PKEY_AudioDevice_EnableEndpointByDefault%,0x00010001,0x00000201
...

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

Dans l’exemple précédent, la combinaison OR au niveau du bit de FLOW_MASK_CAPTURE et FLAG_ENABLE équivaut à la combinaison OR au niveau du bit de 0x00000200 et 0x00000001 avec un résultat de 0x00000201. Le tableau suivant montre les valeurs des indicateurs et des masques que vous pouvez utiliser avec PKEY_AudioDevice_EnableEndpointByDefault.

Masque d’indicateur ou de point de terminaison Valeur

FLAG_DISABLE

0x00000000

FLAG_ENABLE

0x00000001

FLOW_MASK_CAPTURE

0x00000200

FLOW_MASK_RENDER

0x00000100