Objeto SWbemRefresher

O objeto SWbemRefresher é um objeto de contêiner que pode atualizar os dados de todos os objetos adicionados a ele. Instâncias individuais e enumeradores de instância podem ser adicionados ou removidos do contêiner. O conjunto de objetos adicionados, cada item representado por uma instância de SWbemRefreshableItem, pode ser tratado como uma coleção e enumerado. Instâncias do WMI de qualquer classe podem ser adicionadas ao objeto SWbemRefresher. Mesmo que o provedor para os dados da instância não seja de alto desempenho, o objeto de atualização ainda poderá atualizar os dados na chamada Refresh. Se os dados forem fornecidos por meio de um provedor de alto desempenho e a propriedade AutoReconnect for TRUE, o objeto SWbemRefresher tentará restabelecer uma conexão interrompida com o provedor de dados. Esse objeto pode ser criado pela chamada CreateObject do VBScript.

A operação de atualização pode ser executada chamando o método SWbemRefresher.Refresh ou o método SWbemObjectEx.Refresh_.

Membros

O objeto SWbemRefresher tem estes tipos de membros:

Métodos

O objeto SWbemRefresher tem esses métodos.

Método Descrição
Adicionar Adiciona um novo objeto atualizável à coleção no objeto de atualização.
AddEnum Adiciona um novo enumerador ao objeto de atualização.
DeleteAll Remove todos os itens da coleção no objeto de atualização.
Item Retorna um item de atualizador especificado da coleção.
Atualizar Atualiza todos os itens contidos no objeto de atualização.
Remover Remove o objeto de item de atualização ou o conjunto de objetos com um índice especificado do atualizador.

Propriedades

O objeto SWbemRefresher tem essas propriedades.

Propriedade Tipo de acesso Descrição
AutoReconnect
Somente leitura
Indica se o atualizador se reconectará automaticamente a um provedor remoto se a conexão for interrompida.
Contagem
Somente leitura
Contém o número de itens no objeto de atualização.

Exemplos

O exemplo a seguir ilustra a criação de um objeto SWbemRefresher, usando os métodos Add e AddEnum para armazenar uma instância e uma instância de enumeração, a atualização dos dados e o uso da propriedade Item para obter os objetos 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

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemRefresher
IID
IID_ISWbemRefresher

Confira também

SWbemRefreshableItem

SWbemObjectEx

Objetos da API de Script