Объект 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 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
CLSID |
CLSID_SWbemRefresher |
IID |
IID_ISWbemRefresher |