(devicetopology.h) IPart::GetSubType 方法
GetSubType方法會取得這個元件的 part 子類型。
語法
HRESULT GetSubType(
[out] GUID *pSubType
);
參數
[out] pSubType
指向 GUID 變數的指標,方法會將這個部分的子類型 GUID 寫入其中。
傳回值
如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括但不限於下表所示的值。
傳回碼 | 描述 |
---|---|
|
指標 pSubType 為 Null。 |
備註
這個方法通常會從標頭檔 Ksmedia.h 擷取其中一個KSNODETYPE_Xxx GUID 值,不過有些自訂驅動程式可能會提供其他 GUID 值。 如需 KSNODETYPE_Xxx GUID 的詳細資訊,請參閱 Windows DDK 檔。
如 IPart 介面中所述,元件可以是連接器或子單位。
對於屬於連接器的元件,這個方法會擷取驅動程式指派給連接器的針腳類別 GUID。 以下是針腳類別 GUID 的範例:
- KSNODETYPE_ANALOG_CONNECTOR,如果連接器屬於類比裝置的資料路徑,例如麥克風或喇叭。
- KSNODETYPE_SPDIF_INTERFACE,如果連接器是 S/PDIF 埠或從資料路徑的一部分。
如果是子單位的元件,這個方法會擷取子類型 GUID,指出子單位執行的資料流程處理函式。 例如,對於磁片區控制子單位,方法會擷取 GUID 值KSNODETYPE_VOLUME。
下表列出一些子類型 GUID,這些 GUID 可由子單位的 GetSubType 方法擷取。
子類型 GUID | 控制介面 | 必要或選用 |
---|---|---|
KSNODETYPE_3D_EFFECTS | IAudioChannelConfig | 選擇性 |
KSNODETYPE_AGC | IAudioAutoGainControl | 必要 |
KSNODETYPE_DAC | IAudioChannelConfig | 選擇性 |
KSNODETYPE_DEMUX | IAudioOutputSelector | 必要 |
KSNODETYPE_DEV_SPECIFIC | IDeviceSpecificProperty | 必要 |
KSNODETYPE_LOUDNESS | IAudioLoudness | 必要 |
KSNODETYPE_MUTE | IAudioMute | 必要 |
KSNODETYPE_MUX | IAudioInputSelector | 必要 |
KSNODETYPE_PEAKMETER | IAudioPeakMeter | 必要 |
KSNODETYPE_PROLOGIC_DECODER | IAudioChannelConfig | 選擇性 |
KSNODETYPE_TONE | IAudioBass | OptionalOptional 選擇性 |
KSNODETYPE_VOLUME | IAudioChannelConfig | OptionalRequired |
在上表中,中間資料行會列出左欄所指定子類型的子單位所支援的控制項介面。 右欄會指出子單位對控制項介面的支援是必要還是選擇性的。 如果需要支援,應用程式可以依賴指定子類型的子單位來支援控制項介面。 如果支援是選擇性的,則指定子類型的子單位可以支援控制項介面,但不一定支援。
上表中的控制項介面可讓您方便存取子單位的屬性。 不過,某些子單位的屬性沒有對應的控制項介面存在。 應用程式可以透過 IKsControl 介面存取這些屬性。 如需詳細資訊,請參閱 使用 IKsControl 介面存取音訊屬性。
需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | devicetopology.h |