Método IPart::Activate (devicetopology.h)

El método Activate activa una interfaz específica de función en un conector o subunidad.

Sintaxis

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

Parámetros

[in] dwClsContext

Contexto de ejecución en el que se ejecutará el código que administra el objeto recién creado. El autor de la llamada puede restringir el contexto estableciendo este parámetro en el OR bit a bit de uno o varios valores de enumeración CLSCTX . El cliente puede evitar imponer restricciones de contexto especificando CLSCTX_ALL. Para obtener más información sobre CLSCTX, consulte la documentación de Windows SDK.

[in] refiid

Identificador de interfaz de la función de control solicitada. El cliente debe establecer este parámetro en uno de los siguientes valores de 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

Para obtener más información, vea la sección Comentarios.

[out] ppvObject

Puntero a una variable de puntero en la que el método escribe la dirección de la interfaz especificada por el parámetro refiid. A través de este método, el autor de la llamada obtiene una referencia contada a la interfaz . El autor de la llamada es responsable de liberar la interfaz, cuando ya no es necesario, llamando al método Release de la interfaz. Si se produce un error en la llamada Activate , *ppObject es NULL.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, entre otros, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_INVALIDARG
El bit de CLSCTX_INPROC_SERVER en dwClsContext es cero.
E_POINTER
El puntero ppvObject es NULL.
E_NOINTERFACE
El objeto part no admite la interfaz solicitada.

Comentarios

El método Activate admite las siguientes interfaces de control específicas de función:

Para obtener el identificador de interfaz de la interfaz de control específica de una función de un elemento, llame al método IControlInterface::GetIID del elemento. Para obtener el identificador de interfaz de un tipo de interfaz de control específico de función, use el operador __uuidof . Por ejemplo, el identificador de interfaz de IAudioAutoGainControl se define de la siguiente manera:

const IID IID_IAudioAutoGainControl  __uuidof(IAudioAutoGainControl)

Para obtener más información sobre el operador __uuidof , consulte la documentación de Windows SDK.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado devicetopology.h

Consulte también

IControlInterface::GetIID

IPart (Interfaz)