IWbemCallResult::GetCallStatus 方法 (wbemcli.h)
IWbemCallResult::GetCallStatus 方法向用户返回当前未完成的半同步调用的状态。 当此调用 返回WBEM_S_NO_ERROR时,对 IWbemServices 方法的原始调用已完成。
语法
HRESULT GetCallStatus(
[in] long lTimeout,
[out] long *plStatus
);
参数
[in] lTimeout
指定此调用在返回之前阻止的最长时间(以毫秒为单位)。 如果使用常 量 WBEM_INFINITE (0xFFFFFFFF) ,则调用会阻塞,直到对 IWbemServices 方法的原始半同步调用完成。 如果使用 0 (零) ,则调用会立即返回调用状态。
[out] plStatus
如果 WBEM_S_NO_ERROR 在 HRESULT 中返回此方法,则此参数将收到对其中一个 IWbemServices 方法的调用的最终结果状态: OpenNamespace、 PutInstance、 PutClass、 GetObject、 DeleteInstance、 DeleteClass 或 ExecMethod。 出现错误时,将不会使用 plStatus 指向的值。
返回值
此方法返回指示方法调用状态的 HRESULT。 以下列表列出了 HRESULT 中包含的值。
注解
出现错误时,可以调用 COM 函数 GetErrorInfo 以获取更多错误信息。 如果网络问题导致你失去与 Windows 管理的远程连接,也可能返回特定于 COM 的错误代码。
以半同步方式调用 IWbemServices 方法后,可以随时调用 GetCallStatus 以确定调用是否完成。 在 GetCallStatus 返回指示完成原始 IWbemServices 操作的WBEM_S_NO_ERROR后,可能需要调用其他 IWbemCallResult 方法才能检索调用的结果,根据以下规则:
- 对于 IWbemServices::OpenNamespace,必须调用 GetResultServices 方法以检索新的 IWbemServices 指针。
- 对于 IWbemServices::P utInstance,必须调用 GetResultString 方法以获取分配给对象的对象路径。
- 对于 IWbemServices::GetObject,必须调用 GetResultObject 方法来检索对象。
- 对于 IWbemServices 方法 DeleteInstance、 DeleteClass 和 ExecMethod, GetCallStatus 方法是唯一返回有关这些操作信息的调用。
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | wbemcli.h (包括 Wbemidl.h) |