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 |
|
Biblioteca de tipos |
|
DLL |
|
CLSID |
CLSID_SWbemRefresher |
IID |
IID_ISWbemRefresher |