ピン カテゴリのプロパティ

USBオーディオデバイス、IEEE 1394オーディオデバイス、内部バス上のオーディオデバイス用のMicrosoft Windows Driver Model(WDM)オーディオドライバはすべて、デバイスをピンを持つKSフィルタとして表現します。 WDM オーディオ ドライバーメインサポートするピンの種類ごとに 1 つの KSPIN_DESCRIPTOR 構造が含まれています。 この構造体の中に、ドライバはピンタイプの KSPROPSETID_Pin プロパティを格納する。 これらのプロパティの中には、 KSPROPERTY_PIN_CATEGORY プロパティがあります。 このプロパティへの要求は、 KSPIN_DESCRIPTOR 構造体の Category メンバからKSピンカテゴリGUIDを取得します。 この GUID は、ピンが提供する機能の一般的なカテゴリを示します。 たとえば、特定のピン カテゴリ GUID (KSNODETYPE_HEADPHONES) は、ヘッドフォンの出力ジャックとしてピンを識別します。

内部バス (PCI など) 上のウェーブ オーディオ デバイスの場合、PortCls ミニポート ドライバーには、デバイスを表すフィルター内のピンの種類を記述するピン記述子の配列が含まれています。 各ピンディスクリプタは、 PCPIN_DESCRIPTOR 構造体で、ピンカテゴリGUIDを持つ KSPIN_DESCRIPTOR 構造体が組み込まれています。 クライアントから KSPROPERTY_PIN_CATEGORY プロパティ要求を受信すると、ポート ドライバーは、指定したピンの種類のミニポート ドライバーのピン記述子からピン カテゴリ GUID を取得します。 ピン記述子の詳細については、「 ピン ファクトリ」を参照してください。

USBオーディオデバイスには、デジタルストリームとアナログ信号がデバイスを出入りできるいくつかの端子があります。 USB オーディオ デバイスを表す KS フィルターを構築する場合、 USBAudio クラス システム ドライバー は、デバイス上のターミナルをフィルターのピンに変換します。 ヘッダー ファイル Ksmedia.h は、各 USB ターミナルの種類識別子のマッピングを KS ピン カテゴリ GUID に定義します。 次の 6 つの表は、ターミナルの種類の識別子とそれに対応するピン カテゴリ GUID を示しています。

入力ターミナルの種類

USBターミナルID KS ピン カテゴリ GUID

0x0201

KSNODETYPE_MICROPHONE

0x0202

KSNODETYPE_DESKTOP_MICROPHONE

0x0203

KSNODETYPE_PERSONAL_MICROPHONE

0x0204

KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE

0x0205

KSNODETYPE_MICROPHONE_ARRAY

0x0206

KSNODETYPE_PROCESSING_MICROPHONE_ARRAY

出力ターミナルの種類

USBターミナルID KS ピン カテゴリ GUID

0x0301

KSNODETYPE_SPEAKER

0x0302

KSNODETYPE_HEADPHONES

0x0303

KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO

0x0304

KSNODETYPE_DESKTOP_SPEAKER

0x0305

KSNODETYPE_ROOM_SPEAKER

0x0306

KSNODETYPE_COMMUNICATION_SPEAKER

0x0307

KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER

双方向ターミナルの種類

USBターミナルID KS ピン カテゴリ GUID

0x0401

KSNODETYPE_HANDSET

0x0402

KSNODETYPE_HEADSET

0x0403

KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION

0x0404

KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE

0x0405

KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE

テレフォニー ターミナルの種類

USBターミナルID KS ピン カテゴリ GUID

0x0501

KSNODETYPE_PHONE_LINE

0x0502

KSNODETYPE_TELEPHONE

0x0503

KSNODETYPE_DOWN_LINE_PHONE

外部ターミナルの種類

USBターミナルID KS ピン カテゴリ GUID

0x0601

KSNODETYPE_ANALOG_CONNECTOR

0x0602

KSNODETYPE_DIGITAL_AUDIO_INTERFACE

0x0603

KSNODETYPE_LINE_CONNECTOR

0x0604

KSNODETYPE_LEGACY_AUDIO_CONNECTOR

0x0605

KSNODETYPE_SPDIF_INTERFACE

0x0606

KSNODETYPE_1394_DA_STREAM

0x0607

KSNODETYPE_1394_DV_STREAM_SOUNDTRACK

埋め込み関数のターミナル型

USBターミナルID KS ピン カテゴリ GUID

0x0701

KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE

0x0702

KSNODETYPE_EQUALIZATION_NOISE

0x0703

KSNODETYPE_CD_PLAYER

0x0704

KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE

0x0705

KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE

0x0706

KSNODETYPE_MINIDISK

0x0707

KSNODETYPE_ANALOG_TAPE

0x0708

KSNODETYPE_PHONOGRAPH

0x0709

KSNODETYPE_VCR_AUDIO

0x070A

KSNODETYPE_VIDEO_DISC_AUDIO

0x070B

KSNODETYPE_DVD_AUDIO

0x070C

KSNODETYPE_TV_TUNER_AUDIO

0x070D

KSNODETYPE_SATELLITE_RECEIVER_AUDIO

0x070E

KSNODETYPE_CABLE_TUNER_AUDIO

0x070F

KSNODETYPE_DSS_AUDIO

0x0710

KSNODETYPE_RADIO_RECEIVER

0x0711

KSNODETYPE_RADIO_TRANSMITTER

0x0712

KSNODETYPE_MULTITRACK_RECORDER

0x0713

KSNODETYPE_SYNTHESIZER

USBターミナルタイプ識別子の詳細については、 USBインプリメンターズフォーラム のウェブサイトで入手可能な 端末タイプのユニバーサルシリアルバスデバイスクラス定義 (リリース1.0)を参照してください。

上記の表のすべてのピン カテゴリ GUID には、フォーム KSNODETYPE_XXX のパラメーター名があります。 KS ノード・タイプ GUID にも、KSNODETYPE_XXX パラメーター名があることに注意してください。 この名前付け規則により、ピン カテゴリ GUID とノード タイプ GUID の間で混乱が生じる可能性があります。 幸いにも、ほぼすべてのKSNODETYPE_XXX パラメーターは、ピン カテゴリまたはノードの種類を識別しますが、両方を識別するわけではありません。 ルールの 1 つの例外は KSNODETYPE_SYNTHESIZERであり、コンテキストに応じてピン カテゴリまたはノード タイプを識別できます。 ノード タイプ GUID の一覧については、「 オーディオ トポロジ ノード」を参照してください。

USB オーディオ デバイスをインスタンス化する場合、USBAudio クラス システム ドライバーは、デバイスの内部トポロジ (ターミナルを含む) を照会します。 USBAudio ドライバーは、この情報を使用して、デバイスを表すフィルターを構築し、各ターミナルをフィルターの対応するピンに変換します。 このプロセス中、ドライバーは、各 USB ターミナルの種類の識別子を対応する KS ピン カテゴリ GUID に変換します。これは、上記の表の GUID のいずれかです。 ドライバーは、ピンを 記述する KSPIN_DESCRIPTOR 構造体を構築し、ピン カテゴリ GUID を構造体に書き込みます。

PortCls ミニポート ドライバーは、前の 6 つのテーブルに表示されるカテゴリ GUID のみを必ずしも使用しません。 たとえば、ドライバーは、カスタムピン カテゴリ GUID を定義して使用して、機能カテゴリがテーブル内のカテゴリの外にあるピンの種類を記述する場合があります。 当然ながら、カスタム ピン カテゴリ GUID は、GUID を認識するクライアントにのみ役立ちます。

オーディオ サブシステムメイン、ピン カテゴリ GUID とそれに関連付けられているフレンドリ名の一覧がシステム レジストリに含まれています。 メディア クラス インストーラーは、メイン Windows フォルダーの Inf サブフォルダー (C:\Windows\Inf\Ks.inf など) にある Ks.inf ファイルから GUID 名のペアをレジストリにコピーします。

オペレーティング システムでは、ピン カテゴリを使用してフレンドリ名をオーディオ エンドポイント デバイスに関連付けます。 フレンドリ名をオーディオ エンドポイント デバイスに関連付ける方法の詳細については、「 オーディオ エンドポイント デバイスのフレンドリ名」を参照してください。