PKEY_AudioDevice_NeverSetAsDefaultEndpoint

특정 디바이스를 기본 디바이스로 선택할 수 없도록 설정하기로 결정할 수 있습니다. 예를 들어 모뎀 라인 및 의료 오디오 디바이스가 포함됩니다. Windows 7 이상 버전의 Windows는 디바이스 의 엔드포인트를 기본 엔드포인트로 선택할 수 없도록 PKEY_AudioDevice_NeverSetAsDefaultEndpoint 레지스트리 키를 제공합니다.

다음 INF 파일에서 발췌한 내용은 PKEY_AudioDevice_NeverSetAsDefaultEndpoint 사용하여 엔드포인트를 기본값으로 선택할 수 없도록 설정하는 방법을 보여줍니다.

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

앞의 예제에서 NeverSetAsDefaultEndpointMaskValue는 디바이스 역할 플래그와 데이터 흐름 플래그의 조합인 DWORD 마스크 값을 나타냅니다.

다음 INF 파일 코드 조각은 디바이스 역할 및 데이터 흐름 방향에 관계없이 엔드포인트가 기본값으로 선택되지 않도록 KSNODETYPE_OUTPUT_UNDEFINED(정의되지 않은 출력 디바이스)를 설정하는 방법을 보여 줍니다.

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

앞의 예제에서 0x00000305 PKEY_AudioDevice_NeverSetAsDefaultEndpoint 사용할 수 있는 모든 플래그와 마스크의 비트 OR 조합입니다. 다음 표에서는 플래그와 마스크 및 해당 값을 보여 줍니다.

플래그 또는 엔드포인트 마스크

FLOW_MASK_CAPTURE

0x00000200

FLOW_MASK_RENDER

0x00000100

ROLE_MASK_COMMUNICATION

0x00000004

ROLE_MASK_CONSOLE

0x00000001