Pin 類別屬性
Microsoft Windows 驅動程式模型 (WDM) USB 音訊裝置、IEEE 1394 音訊裝置,以及內部匯流排上的音訊裝置,全都會將其裝置顯示為具有針腳的 KS 篩選器。 WDM 音訊驅動程式會針對它支援的每個針腳類型維護一 個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,以取得指定的針腳類型。 如需釘選描述元的詳細資訊,請參閱 Pin Factory。
USB 音訊裝置有一些終端機,數位串流和類比訊號可以進入和結束裝置。 建構 KS 篩選器來代表 USB 音訊裝置時, USBAudio 類別系統驅動程式 會將裝置上的終端機轉譯為篩選器上的針腳。 標頭檔 Ksmedia.h 會定義每個 USB 終端機類型識別碼與 KS 針腳類別 GUID 的對應。 下列六個數據表顯示終端機類型識別碼及其對應的針腳類別 GUID。
輸入終端機類型
USB 終端機識別碼 | 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 終端機識別碼 | 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 終端機識別碼 | 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 終端機識別碼 | KS 針腳類別 GUID |
---|---|
0x0501 |
KSNODETYPE_PHONE_LINE |
0x0502 |
KSNODETYPE_TELEPHONE |
0x0503 |
KSNODETYPE_DOWN_LINE_PHONE |
外部終端機類型
USB 終端機識別碼 | 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 終端機識別碼 | 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 參數都會識別針腳類別或節點類型,但不能同時識別兩者。 規則的其中一個例外是 KSNODETYPE_SYNTHESIZER,視內容而定,此類別可識別釘選類別或節點類型。 如需節點類型 GUID 的清單,請參閱 音訊拓撲節點。
具現化 USB 音訊裝置時,USBAudio 類別系統驅動程式會查詢裝置是否有其內部拓撲,包括其終端機。 利用這項資訊,USBAudio 驅動程式會建構一個篩選來代表裝置,並將每個終端機轉譯為篩選上的對應針腳。 在此程式中,驅動程式會將每個 USB 終端機類型識別碼轉譯成對應的 KS 針腳類別 GUID,這是上述表格中的其中一個 GUID。 驅動程式會建構 KSPIN_DESCRIPTOR 結構來描述針腳,並將針腳類別 GUID 寫入結構。
PortCls 迷你埠驅動程式不一定只使用出現在前六個數據表中的類別 GUID。 例如,驅動程式可能會定義並使用自訂釘選類別 GUID 來描述其功能類別落在資料表中的類別以外的針腳類型。 當然,自訂針腳類別 GUID 僅適用于可辨識 GUID 的用戶端。
音訊子系統會在系統登錄中維護針腳類別 GUID 及其相關聯的易記名稱清單。 媒體類別安裝程式會將 GUID 名稱組從位於主要 Windows (資料夾的 Inf 子資料夾中的 Ks.inf 檔案複製到登錄中,例如 C:\Windows\Inf\Ks.inf) 。
作業系統會使用釘選類別來建立易記名稱與音訊端點裝置的關聯。 如需如何將易記名稱與音訊端點裝置產生關聯的詳細資訊,請參閱 音訊端點裝置的易記名稱。