Compartir a través de


PKEY_AudioDevice_EnableEndpointByDefault

En Windows 7 y versiones posteriores de Windows, el generador de puntos de conexión clasifica los puntos de conexión en factores de forma. Estos factores de forma se basan en el GUID KSNODETYPE de un pin en el filtro de streaming de kernel (KS) al que está conectado el punto de conexión. Cuando el generador de puntos de conexión de audio enumera determinados puntos de conexión, por ejemplo aquellos con tipos de factor de forma como UnknownFormFactor, el generador de puntos de conexión crea estos puntos de conexión como deshabilitados y ocultos. Por lo tanto, debe usar el programa Sonido en Panel de control para habilitar dichos puntos de conexión antes de poder usarlos.

Si quieres invalidar este comportamiento para que el punto de conexión se cree como habilitado o deshabilitado de forma predeterminada, Windows 7 proporciona la clave del Registro PKEY_AudioDevice_EnableEndpointByDefault que te permite hacerlo.

El generador de puntos de conexión crea puntos de conexión con cualquiera de los siguientes valores KSNODETYPE como deshabilitados y ocultos.

Tipo de nodo KS Factor de forma

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

En Windows 7 y versiones posteriores de Windows, los puntos de conexión con un factor de forma de LineLevel, pero con un KSNODETYPE no igual a KSNODETYPE_LINE_CONNECTOR también se crean como deshabilitados y ocultos. Los siguientes puntos de conexión se dividen en esta categoría.

Tipo de nodo KS Factor de forma

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

El siguiente fragmento de código de archivo INF muestra cómo usar PKEY_AudioDevice_EnableEndpointByDefault para habilitar o deshabilitar un punto de conexión de forma predeterminada.

[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"
...

En el ejemplo anterior, EnableEndpointByDefaultMaskValue representa un valor de máscara DWORD que es una combinación de una marca enable o disable (FLAG_ENABLE o FLAG_DISABLE) y una marca de flujo de datos (FLOW_MASK_RENDER o FLOW_MASK_CAPTURE).

El siguiente fragmento de código de archivo INF muestra cómo se configura un reproductor de CD para que esté habilitado de forma predeterminada y esté configurado como un dispositivo de entrada (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"
…

En el ejemplo anterior, la combinación OR bit a bit de FLOW_MASK_CAPTURE y FLAG_ENABLE equivale a la combinación OR bit a bit de 0x00000200 y 0x00000001 con el resultado de 0x00000201. En la tabla siguiente se muestran los valores de las marcas y máscaras que puede usar con PKEY_AudioDevice_EnableEndpointByDefault.

Marca o máscara de punto de conexión Valor

FLAG_DISABLE

0x00000000

FLAG_ENABLE

0x00000001

FLOW_MASK_CAPTURE

0x00000200

FLOW_MASK_RENDER

0x00000100