IPart::GetSubType 方法 (devicetopology.h)

GetSubType 方法获取此部件的部件子类型。

语法

HRESULT GetSubType(
  [out] GUID *pSubType
);

参数

[out] pSubType

指向 GUID 变量的指针,方法在此变量中写入此部件的子类型 GUID。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
E_POINTER
指针 pSubTypeNULL

备注

此方法通常从头文件 Ksmedia.h 检索 KSNODETYPE_Xxx GUID 值之一,尽管某些自定义驱动程序可能提供其他 GUID 值。 有关 KSNODETYPE_Xxx GUID 的详细信息,请参阅 Windows DDK 文档。

IPart Interface 中所述,部件可以是连接器或子单元。

对于作为连接器的部件,此方法检索驱动程序已分配给连接器的引脚类别 GUID。 下面是引脚类别 GUID 的示例:

  • 如果连接器是模拟设备(如麦克风或扬声器)的数据路径的一部分,则KSNODETYPE_ANALOG_CONNECTOR。
  • 如果连接器是 S/PDIF 端口的数据路径的一部分,则KSNODETYPE_SPDIF_INTERFACE。
有关详细信息,请参阅 Windows DDK 文档中的固定类别属性KSPROPERTY_PIN_CATEGORY的讨论。

对于作为子单元的部件,此方法检索指示子单元执行的流处理函数的子类型 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

IAudioMidrange

IAudioTreble

OptionalOptional

可选

KSNODETYPE_VOLUME IAudioChannelConfig

IAudioVolumeLevel

OptionalRequired
 

在上表中,中间列列出了左列中指定的子类型的子单元支持的控件接口。 右列指示子单元对控件接口的支持是必需还是可选的。 如果需要支持,应用程序可以依赖指定子类型的子单元来支持控件接口。 如果支持是可选的,则指定子类型的子单元可以但不一定支持控件接口。

上表中的控件接口提供了对子单元属性的便捷访问。 但是,某些子单元具有不存在相应的控件接口的属性。 应用程序可以通过 IKsControl 接口访问这些属性。 有关详细信息,请参阅 使用 IKsControl 接口访问音频属性

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 devicetopology.h

另请参阅

IPart 接口