IWbemServices::ExecMethod 方法 (wbemcli.h)

IWbemServices::ExecMethod 方法执行由 CIM 对象导出的方法。 方法调用将转发到执行该方法的相应提供程序。 信息和状态将返回到调用方,调用方将阻止,直到调用完成。

方法不是由 Windows 管理直接实现的,而是由方法提供程序导出的。 对于任何给定的 CIM 类,必须在相关提供程序的文档中指定可用的方法及其参数。

有关执行方法的详细信息,请参阅 调用方法

语法

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
);

参数

[in] strObjectPath

有效的 BSTR ,包含为其执行方法的对象的对象 路径

[in] strMethodName

对象的方法的名称。

[in] lFlags

此参数可以设置为 0,使它成为同步调用。 若要将此调用设为半同步调用,请将 lFlags 设置为 WBEM_FLAG_RETURN_IMMEDIATELY,为 ppCallResult 参数提供有效的指针,并且此调用将立即返回。 有关详细信息,请参阅调用方法

[in] pCtx

通常 为 NULL;否则,这是指向可能由执行 方法的提供程序使用的 IWbemContext 对象的指针。 上下文对象中的值必须在相关提供程序的文档中指定。 有关此参数的详细信息,请参阅 调用 WMI

[in] pInParams

如果执行 方法不需要参数内,可以为 NULL 。 否则,这指向一个 IWbemClassObject ,其中包含充当方法执行的入站参数的属性。 对象的内容特定于方法,是有关提供程序规范的一部分。 有关构造输入参数的详细信息,请参阅 使用 C++ 创建 Parameters 对象

[out] ppOutParams

如果不是 NULL,则接收指向出站参数的指针,并返回方法执行的值。 此对象的内容特定于方法,是有关提供程序规范的一部分。 当不再需要返回的对象时,调用方必须对它调用 Release

[out] ppCallResult

如果 为 NULL,则不使用它。 如果指定 了 ppCallResult ,则必须在输入时将其设置为指向 NULL 。 在这种情况下,调用会立即返回 WBEM_S_NO_ERRORppCallResult 参数接收指向新 IWbemCallResult 对象的指针,必须轮询该对象才能使用 GetCallStatus 方法获取方法执行的结果。 调用 IWbemCallResult::GetResultObject 即可获取调用的 out 参数。

返回值

此方法返回指示方法调用状态的 HRESULT。 以下列表列出了 HRESULT 中包含的值。

失败时,可以从 COM 函数 GetErrorInfo 获取任何可用信息。

如果网络问题导致你失去与 Windows 管理的远程连接,也可能会返回特定于 COM 的错误代码。

注解

如果 ppOutParams 不为 NULL,则客户端可以通过检查 ppOutParams 指向的 对象的 ReturnValue 属性来确定方法的返回值类型。

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 wbemcli.h (包括 Wbemidl.h)
Library Wbemuuid.lib
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

另请参阅

调用方法

IWbemCallResult::GetResultObject

IWbemServices

IWbemServices::ExecMethodAsync