IPart::Activate 方法 (devicetopology.h)

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

语法

HRESULT Activate(
  [in]  DWORD  dwClsContext,
  [in]  REFIID refiid,
  [out] void   **ppvObject
);

参数

[in] dwClsContext

管理新创建对象的代码将在其中运行的执行上下文。 调用方可以通过将此参数设置为一个或多个 CLSCTX 枚举值的按位 OR 来限制上下文。 客户端可以通过指定CLSCTX_ALL来避免施加任何上下文限制。 有关 CLSCTX 的详细信息,请参阅 Windows SDK 文档。

[in] refiid

请求的控制函数的接口 ID。 客户端应将此参数设置为以下 REFIID 值之一:

IID_IAudioAutoGainControl

IID_IAudioBass

IID_IAudioChannelConfig

IID_IAudioInputSelector

IID_IAudioLoudness

IID_IAudioMidrange

IID_IAudioMute

IID_IAudioOutputSelector

IID_IAudioPeakMeter

IID_IAudioTreble

IID_IAudioVolumeLevel

IID_IDeviceSpecificProperty

IID_IKsFormatSupport

IID_IKsJackDescription

IID_IKsJackDescription2

有关详细信息,请参阅“备注”。

[out] ppvObject

指向指针变量的指针,方法将参数 refiid 指定的接口的地址写入其中。 通过此方法,调用方获取对 接口的计数引用。 调用方负责通过调用接口的 Release 方法,在不再需要接口时释放接口。 如果 Activate 调用失败, 则 *ppObjectNULL

返回值

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

返回代码 说明
E_INVALIDARG
dwClsContext 中的CLSCTX_INPROC_SERVER位为零。
E_POINTER
指针 ppvObjectNULL
E_NOINTERFACE
部件对象不支持请求的接口。

备注

Activate 方法支持以下特定于函数的控件接口:

若要获取部件的特定于函数的控件接口的接口 ID,请调用该部件的 IControlInterface::GetIID 方法。 若要获取特定于函数的控件接口类型的接口 ID,请使用 __uuidof 运算符。 例如, IAudioAutoGainControl 的接口 ID 定义如下:

const IID IID_IAudioAutoGainControl  __uuidof(IAudioAutoGainControl)

有关 __uuidof 运算符的详细信息,请参阅 Windows SDK 文档。

要求

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

另请参阅

IControlInterface::GetIID

IPart 接口