Objeto SWbemRefresher

El objeto SWbemRefresher es un objeto contenedor que puede actualizar los datos de todos los objetos que se le agregan. Las instancias únicas y los enumeradores de instancias se pueden agregar o quitar del contenedor. El conjunto de objetos agregados, del cual, cada elemento se representa con una instancia de SWbemRefreshableItem, se puede tratar como colección y enumerarse. Al objeto SWbemRefresher se le pueden agregar instancias de WMI de cualquier clase. Aunque el proveedor de los datos de instancia no sea un proveedor de alto rendimiento, el objeto de actualización podrá actualizar los datos en la llamada Refresh. Si los datos se proporcionan mediante un proveedor de alto rendimiento y la propiedad AutoReconnect es TRUE, el objeto SWbemRefresher intenta restablecer una conexión interrumpida con el proveedor de datos. La llamada CreateObject de VBScript puede crear este objeto.

La operación de actualización se puede realizar llamando a los métodos SWbemRefresher.Refresh o SWbemObjectEx.Refresh_.

Miembros

El objeto SWbemLastError contiene estos tipos de elementos:

Métodos

El objeto SWbemRefresher tiene estos métodos.

Método Descripción
Sumar Agrega un nuevo objeto actualizable a la colección en el objeto refresher.
AddEnum Agrega un nuevo enumerador al objeto refresher.
DeleteAll Quita todos los elementos de la colección en el objeto refresher.
Elemento Devuelve un elemento refresher especificado de la colección.
Actualizar Actualiza todos los elementos contenidos en el objeto refresher.
Quitar Quita el objeto o el conjunto de objetos refresher con un índice especificado del objeto refresher.

Propiedades

El objeto SWbemRefresher tiene estas propiedades.

Propiedad Tipo de acceso Descripción
AutoReconnect
Solo lectura
Indica si el objeto refresher se vuelve a conectar automáticamente a un proveedor remoto si se interrumpe la conexión.
Count
Solo lectura
Contiene el número de elementos del objeto refresher.

Ejemplos

En el ejemplo siguiente se muestra cómo crear un objeto SWbemRefresher mediante los métodos Add y AddEnum para almacenar una instancia única y una de enumeración, la actualización de los datos y el uso de la propiedad Item para obtener los 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 Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Encabezado
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
Archivo DLL
Wbemdisp.dll
CLSID
CLSID_SWbemRefresher
IID
IID_ISWbemRefresher

Consulte también

SWbemRefreshableItem

SWbemObjectEx

Objetos de API de scripting