Объект SWbemRefresher

Объект SWbemRefresher — это объект контейнера, который может обновлять данные для всех объектов, добавленных в него. Отдельные экземпляры и перечислители экземпляров можно добавлять или удалять из контейнера. Набор добавленных объектов, каждый элемент, представленный экземпляром SWbemRefreshableItem , можно рассматривать как коллекцию и перечислять. Экземпляры WMI из любого класса можно добавить в объект SWbemRefresher . Даже если поставщик данных экземпляра не является высокопроизводительным поставщиком, объект средства обновления по-прежнему может обновлять данные при вызове Refresh . Если данные предоставляются через высокопроизводительный поставщик и свойство AutoReconnect имеет значение TRUE, то объект SWbemRefresher пытается восстановить нарушенное подключение к поставщику данных. Этот объект можно создать с помощью вызова VBScript CreateObject .

Операцию обновления можно выполнить путем вызова метода SWbemRefresher.Refresh или метода SWbemObjectEx.Refresh_ .

Элементы

Объект SWbemRefresher имеет следующие типы элементов:

Методы

Объект SWbemRefresher имеет следующие методы.

Метод Описание
Добавить Добавляет новый обновляемый объект в коллекцию в объекте refresher.
AddEnum Добавляет новый перечислитель в объект средства обновления.
УдалитьВсе Удаляет все элементы из коллекции в объекте refresher.
Элемент Возвращает указанный элемент средства обновления из коллекции.
Обновить Обновления все элементы, содержащиеся в объекте средства обновления.
Удалить Удаляет объект или набор элементов средства обновления с указанным индексом из средства обновления.

Свойства

Объект SWbemRefresher имеет следующие свойства.

Свойство Тип доступа Описание
Автоподключение
Только для чтения
Указывает, будет ли средство обновления автоматически повторно подключаться к удаленному поставщику в случае разрыва соединения.
Рассчитывать
Только для чтения
Содержит количество элементов в объекте средства обновления.

Примеры

В следующем примере показано создание объекта SWbemRefresher , использование методов Add и AddEnum для хранения одного экземпляра и экземпляра перечисления, обновление данных и использование свойства 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 для создания скриптов