SWbemRefresher 对象

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

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

成员

SWbemRefresher 对象包含以下类型的成员:

方法

SWbemRefresher 对象包含以下方法。

方法 说明
Add 向刷新程序对象中的集合添加新的可刷新对象。
AddEnum 向刷新程序对象添加新枚举器。
DeleteAll 从刷新程序对象的集合中删除所有项。
从集合中返回指定的刷新程序项。
Refresh 更新刷新程序对象中包含的所有项。
Remove 从刷新程序中删除具有指定索引的刷新程序项对象或对象集。

属性

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 对象