ピン カテゴリのプロパティ
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 名のペアをレジストリにコピーします。
オペレーティング システムでは、ピン カテゴリを使用してフレンドリ名をオーディオ エンドポイント デバイスに関連付けます。 フレンドリ名をオーディオ エンドポイント デバイスに関連付ける方法の詳細については、「 オーディオ エンドポイント デバイスのフレンドリ名」を参照してください。