Метод IPart::Activate (devicetopology.h)

Метод Activate активирует интерфейс для конкретной функции в соединителе или подсоедините.

Синтаксис

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

Параметры

[in] dwClsContext

Контекст выполнения, в котором будет выполняться код, управляющий вновь созданным объектом. Вызывающий объект может ограничить контекст, задав этому параметру побитовое ЗНАЧЕНИЕ ИЛИ одного или нескольких значений перечисления CLSCTX . Клиент может избежать ограничения контекста, указав CLSCTX_ALL. Дополнительные сведения о CLSCTX см. в документации по Windows SDK.

[in] refiid

Идентификатор интерфейса для запрошенной функции управления. Клиент должен задать этому параметру одно из следующих значений 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 завершается сбоем, *ppObject имеет значение NULL.

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, но не ограничиваются ими, значения, показанные в следующей таблице.

Код возврата Описание
E_INVALIDARG
Бит CLSCTX_INPROC_SERVER в dwClsContext равен нулю.
E_POINTER
Указатель ppvObject имеет значение NULL.
E_NOINTERFACE
Объект part не поддерживает запрошенный интерфейс.

Комментарии

Метод Activate поддерживает следующие интерфейсы управления для конкретных функций:

Чтобы получить идентификатор интерфейса элемента управления для конкретной функции, вызовите метод IControlInterface::GetIID части. Чтобы получить идентификатор интерфейса для типа интерфейса элемента управления для конкретной функции, используйте оператор __uuidof . Например, идентификатор интерфейса IAudioAutoGainControl определяется следующим образом:

const IID IID_IAudioAutoGainControl  __uuidof(IAudioAutoGainControl)

Дополнительные сведения об операторе __uuidof см. в документации windows SDK.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header devicetopology.h

См. также раздел

IControlInterface::GetIID

Интерфейс IPart