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