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 |