SWbemRefresher 对象

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

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

成员

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

方法

SWbemRefresher 对象具有这些方法。

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

属性

SWbemRefresher 对象具有这些属性。

属性 访问类型 描述
自动
只读
指示如果连接中断,刷新程序是否会自动重新连接到远程提供程序。

只读
包含刷新器对象中的项数。

示例

下面的示例演示如何创建 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.tlb
类型库
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID _ SWbemRefresher
IID
IID _ ISWbemRefresher

另请参阅

SWbemRefreshableItem

SWbemObjectEx

脚本 API 对象