IPart 接口 (devicetopology.h)

IPart 接口表示设备拓扑的部件(连接器或子单元)。 客户端通过调用 IDeviceTopology::GetPartByIdIPartsList::GetPartList::GetPart 方法,或在部件对象上调用 IConnectorISubunit 接口的 QueryInterface 方法,并将该方法的 iid 参数设置为 REFIID IID_IPart来获取对 IPart 接口的引用。

具有 IPart 接口的对象可以封装以下设备拓扑部件之一:

  • 连接器。 这是连接到另一台设备以形成用于在设备之间传输音频流的数据路径的一部分。
  • 亚基。 这是处理音频流的一部分(例如音量控制)。
连接器或子单元对象的 IPart 接口表示所有部件通用的泛型函数,对象的 IConnectorISubunit 接口表示特定于连接器或子单元的函数。 此外,部件可能支持一个或多个控制接口来控制或监视部件的功能。 例如,客户端通过其 IAudioVolumeLevel 接口控制卷控件子单元。

IPart 接口提供用于获取连接器或子单元的名称、本地 ID、全局 ID 和部件类型的方法。 此外, IPart 还可以在连接器或子单元上激活控件接口。

有关使用 IPart 接口的代码示例,请参阅 设备拓扑中的 GetHardwareDeviceTopology 和 SelectCaptureDevice 函数的实现。

继承

IPart 接口继承自 IUnknown 接口。 IPart 还具有以下类型的成员:

Methods

IPart 接口具有这些方法。

 
IPart::Activate

Activate 方法在连接器或子单元上激活特定于函数的接口。
IPart::EnumPartsIncoming

EnumPartsIncoming 方法获取所有传入部件的列表,即驻留在此部件上游的数据路径上的部件。
IPart::EnumPartsOutgoing

EnumPartsOutgoing 方法检索所有传出部件的列表,即驻留在此部件下游的数据路径上的部件。
IPart::GetControlInterface

如果此部件支持,GetControlInterface 方法将获取对指定控件接口的引用。
IPart::GetControlInterfaceCount

GetControlInterfaceCount 方法获取此部件支持的控件接口数。
IPart::GetGlobalId

GetGlobalId 方法获取此部件的全局 ID。
IPart::GetLocalId

GetLocalId 方法获取此部件的本地 ID。
IPart::GetName

GetName 方法获取此部件的友好名称。
IPart::GetPartType

GetPartType 方法获取此部件的部件类型。
IPart::GetSubType

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

GetTopologyObject 方法获取对包含此部分的设备拓扑对象的 IDeviceTopology 接口的引用。
IPart::RegisterControlChangeCallback

RegisterControlChangeCallback 方法注册 IControlChangeNotify 接口,客户端实现该接口以接收此部分的状态更改通知。
IPart::UnregisterControlChangeCallback

UnregisterControlChangeCallback 方法删除客户端以前通过调用 IPart::RegisterControlChangeCallback 方法注册的 IControlChangeNotify 接口的注册。

要求

Requirement 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows操作系统
Header devicetopology.h

另请参阅

核心音频接口

DeviceTopology API

IAudioVolumeLevel 接口

IConnector 接口

IDeviceTopology::GetPartById

IPartsList::GetPart

ISubunit 接口