PKEY_AudioDevice_EnableEndpointByDefault
Windows 7 以降のバージョンの Windows では、エンドポイント ビルダーによってエンドポイントがフォーム ファクターに分類されます。 これらのフォーム ファクターは、エンドポイントが接続されているカーネル ストリーミング (KS) フィルター上のピンの KSNODETYPE GUID に基づいています。 オーディオ エンドポイント ビルダーが特定のエンドポイント (UnknownFormFactor などのフォーム ファクターの種類を持つエンドポイントなど) を列挙すると、エンドポイント ビルダーはこれらのエンドポイントを無効および非表示として作成します。 そのため、このようなエンドポイントを使用するには、コントロール パネルのサウンド プログラムを使用して有効にする必要があります。
エンドポイントがデフォルトで有効または無効として作成されるように、この動作をオーバーライドしたい場合、Windows 7 はそれを可能にする PKEY_AudioDevice_EnableEndpointByDefault レジストリ キーを提供します。
エンドポイント ビルダーは、次のいずれかの KSNODETYPE 値を無効にして非表示にしてエンドポイントを作成します。
KSノードタイプ | フォーム ファクター |
---|---|
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 |
Windows 7 以降のバージョンの Windows では、LineLevel のフォーム ファクターを持つが、KSNODETYPE_LINE_CONNECTORと等しくない KSNODETYPE を持つエンドポイントも、無効および非表示として作成されます。 次のエンドポイントは、このカテゴリに分類されます。
KSノードタイプ | フォーム ファクター |
---|---|
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 |
次のINFファイルのスニペットは、PKEY_AudioDevice_EnableEndpointByDefault を使用して、エンドポイントをデフォルトで有効または無効にする方法を示しています。
[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"
...
前の例では、EnableEndpointByDefaultMaskValue は、有効または無効フラグ (FLAG_ENABLEまたはFLAG_DISABLE) とデータ フロー フラグ (FLOW_MASK_RENDERまたはFLOW_MASK_CAPTURE) の組み合わせである DWORD マスク値を表します。
次の INF ファイル スニペットは、CD プレーヤーが既定で有効になり、入力デバイス (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"
…
前の例では、FLOW_MASK_CAPTUREとFLAG_ENABLEのビットごとの OR の組み合わせは、0x00000200と0x00000001のビットごとの OR の組み合わせと、0x00000201の結果と同じです。 次の表に、PKEY_AudioDevice_EnableEndpointByDefaultで使用できるフラグとマスクの値を示します。
フラグまたはエンドポイント マスク | Value |
---|---|
FLAG_DISABLE |
0x00000000 |
FLAG_ENABLE |
0x00000001 |
FLOW_MASK_CAPTURE |
0x00000200 |
FLOW_MASK_RENDER |
0x00000100 |