SWbemRefresher オブジェクト

SWbemRefresher オブジェクトは、それに追加されたすべてのオブジェクトのデータを更新できるコンテナー オブジェクトです。 単一インスタンスとインスタンス列挙子の、コンテナーに対する追加または削除ができます。 各項目が SWbemRefreshableItem インスタンスによって表される追加されたオブジェクトのセットは、コレクションとして処理および列挙できます。 任意のクラスの WMI インスタンスを SWbemRefresher オブジェクトに追加できます。 インスタンス データのプロバイダーが高パフォーマンス プロバイダーでない場合でも、リフレッシャー オブジェクトは Refresh 呼び出しでデータを更新できます。 データが高パフォーマンス プロバイダー経由で提供され、AutoReconnect プロパティが TRUE の場合、SWbemRefresher オブジェクトはデータ プロバイダーへの切断された接続の再確立を試みます。 このオブジェクトは、VBScript の CreateObject 呼び出しで作成できます。

更新操作は、SWbemRefresher.Refresh メソッドまたは SWbemObjectEx.Refresh_ メソッドを呼び出すことによって実行できます。

メンバー

SWbemRefresher オブジェクトには、次の種類のメンバーがあります。

メソッド

SWbemRefresher オブジェクトには、次のメソッドがあります。

メソッド 説明
追加 リフレッシャー オブジェクトのコレクションに新しい更新可能なオブジェクトを追加します。
AddEnum リフレッシャー オブジェクトに新しい列挙子を追加します。
DeleteAll リフレッシャー オブジェクト内のコレクションからすべての項目を削除します。
Item コレクションから指定したリフレッシャー アイテムを返します。
更新 リフレッシャー オブジェクトに含まれるすべての項目を更新します。
[削除] 指定したインデックスを持つリフレッシャー項目オブジェクトまたはオブジェクト セットをリフレッシャーから削除します。

プロパティ

SWbemRefresher オブジェクトには、次のプロパティがあります。

プロパティ アクセスの種類 説明
AutoReconnect
読み取り専用
接続が切断された場合に、リフレッシャーがリモート プロバイダーに自動的に再接続するかどうかを指定します。
カウント
読み取り専用
リフレッシャー オブジェクト内の項目の数を格納します。

次の例は、 SWbemRefresher オブジェクトを作成し、 AddAddEnum メソッドを使用して単一のインスタンスと列挙インスタンスを格納し、データを更新し、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
Header
Wbemdisp.h
タイプ ライブラリ
Wbemdisp.tlb
[DLL]
Wbemdisp.dll
CLSID
CLSID_SWbemRefresher
IID
IID_ISWbemRefresher

関連項目

SWbemRefreshableItem

SWbemObjectEx

スクリプト API オブジェクト