IWbemCallResult接口用于IWbemServices接口的半异步调用。当进行这样的呼叫时,被叫IWbemServices方法将立即返回,以及一个IWbemCallResult对象。您可以定期轮询所返回的IWbemCallResult对象来确定呼叫的状态。通过致电IWbemCallResult.GetCallStatus,您可以在完成原始IWbemServices电话后获得结果。
这种调用返回范例在线程不能被阻塞超过几秒的情况下是有用的,因为它正在维护其他任务,例如处理窗口消息。
并非所有IWbemServices方法都支持此界面,因为它们不是所有的。目的是允许所有相关操作的非阻塞,同步操作(半同步操作)。由于许多IWbemServices方法由于使用枚举器或其他构造而已经是非阻塞的,所以只有以下方法需要此辅助接口来支持半异步操作:
· | OpenNamespace |
· | GetObject |
· | PutInstance |
· | PutClass |
· | DeleteClass |
· | DeleteInstance |
· | ExecMethod |
方法
IWbemCallResult接口继承了IUnknown接口的方法。
此外,IWbemCallResult定义了以下方法。
方法 |
描述 |
GetCallStatus |
报告半异步调用是否成功。 |
GetResultObject |
返回IWbemClassObject对象,这是对IWbemServices.GetObject进行半异步调用的结果。 |
GetResultServices |
返回对IWbemServices.OpenNamespace动作动作进行半异步调用的结果。 |
GetResultString |
返回一个对象路径,这是对IWbemServices.PutInstance进行半异步调用的结果。 |
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
头 |
在Wbemcli.inc中声明。 |