共用方式為


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