SWbemRefresher 对象

SWbemRefresher 对象是一个容器对象,可以刷新添加到它的所有对象的数据。 可以在容器中添加或删除单个实例和实例枚举器。 添加的对象集( 由 SWbemRefreshableItem 实例表示的每个项)可以被视为集合并枚举。 任何类中的 WMI 实例都可以添加到 SWbemRefresher 对象。 即使实例数据的提供程序不是高性能提供程序,刷新器对象仍然可以在 刷新 调用中更新数据。 如果数据通过高性能提供程序提供,并且 AutoReconnect 属性为 TRUE,则 SWbemRefresher 对象将尝试重新建立与数据提供程序的断开连接。 此对象可由 VBScript CreateObject 调用创建。

可以通过调用 SWbemRefresher.Refresh 方法或 SWbemObjectEx.Refresh_ 方法来执行刷新操作。

成员

SWbemRefresher 对象具有以下类型的成员:

方法

SWbemRefresher 对象具有这些方法。

方法 描述
添加 将新的可刷新对象添加到刷新器对象中的集合。
AddEnum 将新的枚举器添加到刷新器对象。
DeleteAll 从刷新器对象中的集合中删除所有项。
项目 从集合中返回指定的刷新项。
“刷新” 更新刷新器对象中包含的所有项。
删除 从刷新器中删除具有指定索引的刷新项对象或对象集。

属性

SWbemRefresher 对象具有这些属性。

属性 访问类型 说明
AutoReconnect
只读
指示刷新程序是否在连接中断时自动重新连接到远程提供程序。
计数
只读
包含刷新器对象中的项数。

示例

以下示例演示如何创建 SWbemRefresher 对象,使用 AddAddEnum 方法存储单个实例和枚举实例、刷新数据,以及使用 Item 属性获取 SWbemRefreshableItem 对象。

' Get namespace connections
set objServicesCimv2 = GetObject("winmgmts:root\cimv2")
set objServicesDefault = GetObject("winmgmts:root\default")

' Create a refresher object
set objRefresher = CreateObject("WbemScripting.SWbemRefresher")

' Add a single object (SWbemObjectEx) to the refresher. The "@"
' is used because _CIMOMIdentification is a singleton class- only 
' one instance exists. Note that the
' SWbemRefreshableItem.Object property must 
' be specified or the SWbemRefresher.Refresh call will fail.

set objRefreshableItem1 = objRefresher. _
    Add (objServicesDefault, "__CIMOMIdentification=@").Object

' Add an enumerator (SWbemObjectSet object)
' to the refresher. Note that the
' SWbemRefreshableItem.ObjectSet property
' must be specified or the SWbemRefresher.Refresh call will fail. 
set objRefreshableItem2 = objRefresher. _
    AddEnum (objServicesCimv2, "Win32_Process").ObjectSet

' Display number of items in refresher and update the data.
MsgBox "Number of items in refresher = " & objRefresher.Count
objRefresher.Refresh

' Iterate through the refresher. SWbemRefreshable
' Item.IsSet checks for whether the item is an enumerator.
for each RefreshableItem in objRefresher
 if RefreshableItem.IsSet then  
    MsgBox "Item with index " & RefreshableItem.Index &_
    " is an enumerator containing "_
    & RefreshableItem.ObjectSet.Count & " processes"
 else  
      MsgBox "Item with index " & RefreshableItem.Index _
          & " is a single object containing WMI version "_
          &  objRefreshableItem1.VersionCurrentlyRunning
 end if
next

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
Wbemdisp.h
类型库
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemRefresher
IID
IID_ISWbemRefresher

另请参阅

SWbemRefreshableItem

SWbemObjectEx

编写 API 对象的脚本