IPart::GetSubType 方法 (devicetopology.h)
GetSubType 方法获取此部件的部件子类型。
语法
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 Interface 中所述,部件可以是连接器或子单元。
对于作为连接器的部件,此方法检索驱动程序已分配给连接器的引脚类别 GUID。 下面是引脚类别 GUID 的示例:
- 如果连接器是模拟设备(如麦克风或扬声器)的数据路径的一部分,则KSNODETYPE_ANALOG_CONNECTOR。
- 如果连接器是 S/PDIF 端口的数据路径的一部分,则KSNODETYPE_SPDIF_INTERFACE。
对于作为子单元的部件,此方法检索指示子单元执行的流处理函数的子类型 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 |