Método IWbemServices::ExecMethod (wbemcli.h)

El método IWbemServices::ExecMethod ejecuta un método exportado por un objeto CIM. La llamada al método se reenvía al proveedor adecuado donde se ejecuta. La información y el estado se devuelven al autor de la llamada, que se bloquea hasta que se completa la llamada.

Los proveedores de métodos no implementan directamente los métodos, pero los proveedores de métodos los exportan. Para cualquier clase CIM determinada, los métodos disponibles y sus parámetros deben especificarse en la documentación del proveedor en cuestión.

Para obtener más información sobre cómo ejecutar métodos, vea Llamar a un método.

Sintaxis

HRESULT ExecMethod(
  [in]  const BSTR       strObjectPath,
  [in]  const BSTR       strMethodName,
  [in]  long             lFlags,
  [in]  IWbemContext     *pCtx,
  [in]  IWbemClassObject *pInParams,
  [out] IWbemClassObject **ppOutParams,
  [out] IWbemCallResult  **ppCallResult
);

Parámetros

[in] strObjectPath

BSTR válido que contiene la ruta de acceso del objeto para el que se ejecuta el método.

[in] strMethodName

Nombre del método para el objeto.

[in] lFlags

Este parámetro se puede establecer en 0 para que esta sea una llamada sincrónica. Para realizar esta llamada semiincrónica, establezca lFlags en WBEM_FLAG_RETURN_IMMEDIATELY, proporcione un puntero válido para el parámetro ppCallResult y esta llamada devuelva inmediatamente. Para más información, vea Llamada a un método.

[in] pCtx

Normalmente NULL; de lo contrario, se trata de un puntero a un objeto IWbemContext que el proveedor puede usar al ejecutar el método . Los valores del objeto de contexto deben especificarse en la documentación del proveedor en cuestión. Para obtener más información sobre este parámetro, vea Realizar llamadas a WMI.

[in] pInParams

Puede ser NULL si no se requiere ningún parámetro para ejecutar el método . De lo contrario, apunta a un IWbemClassObject que contiene las propiedades que actúan como parámetros de entrada para la ejecución del método. El contenido del objeto es específico del método y forma parte de la especificación del proveedor en cuestión. Para obtener más información sobre cómo construir parámetros de entrada, vea Creating Parameters Objects in C++.

[out] ppOutParams

Si no es NULL, recibe un puntero a los parámetros de salida y devuelve valores para la ejecución del método. El contenido de este objeto es específico del método y forma parte de la especificación del proveedor en cuestión. El autor de la llamada debe llamar a Release en el objeto devuelto cuando ya no sea necesario.

[out] ppCallResult

Si es NULL, no se usa. Si se especifica ppCallResult , debe establecerse para que apunte a NULL en la entrada. En este caso, la llamada devuelve inmediatamente con WBEM_S_NO_ERROR. El parámetro ppCallResult recibe un puntero a un nuevo objeto IWbemCallResult , que se debe sondear para obtener el resultado de la ejecución del método mediante el método GetCallStatus . Los parámetros out de la llamada están disponibles llamando a IWbemCallResult::GetResultObject.

Valor devuelto

Este método devuelve un valor HRESULT que indica el estado de la llamada al método. En la lista siguiente se muestra el valor contenido en un HRESULT.

Si se produce un error, puede obtener cualquier información disponible de la función COM GetErrorInfo.

También se pueden devolver códigos de error específicos de COM si los problemas de red hacen que pierda la conexión remota a la administración de Windows.

Comentarios

Si ppOutParams no es NULL, el cliente puede determinar el tipo de valor devuelto del método examinando la propiedad ReturnValue del objeto al que apunta ppOutParams.

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemcli.h (include Wbemidl.h)
Library Wbemuuid.lib
Archivo DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

Consulte también

Llamada a un método

IWbemCallResult::GetResultObject

IWbemServices

IWbemServices::ExecMethodAsync