SWbemRefresher オブジェクト
SWbemRefresher オブジェクトは、それに追加されたすべてのオブジェクトのデータを更新できるコンテナー オブジェクトです。 単一インスタンスとインスタンス列挙子の、コンテナーに対する追加または削除ができます。 各項目が SWbemRefreshableItem インスタンスによって表される追加されたオブジェクトのセットは、コレクションとして処理および列挙できます。 任意のクラスの WMI インスタンスを SWbemRefresher オブジェクトに追加できます。 インスタンス データのプロバイダーが高パフォーマンス プロバイダーでない場合でも、リフレッシャー オブジェクトは Refresh 呼び出しでデータを更新できます。 データが高パフォーマンス プロバイダー経由で提供され、AutoReconnect プロパティが TRUE の場合、SWbemRefresher オブジェクトはデータ プロバイダーへの切断された接続の再確立を試みます。 このオブジェクトは、VBScript の CreateObject 呼び出しで作成できます。
更新操作は、SWbemRefresher.Refresh メソッドまたは SWbemObjectEx.Refresh_ メソッドを呼び出すことによって実行できます。
メンバー
SWbemRefresher オブジェクトには、次の種類のメンバーがあります。
メソッド
SWbemRefresher オブジェクトには、次のメソッドがあります。
メソッド | 説明 |
---|---|
追加 | リフレッシャー オブジェクトのコレクションに新しい更新可能なオブジェクトを追加します。 |
AddEnum | リフレッシャー オブジェクトに新しい列挙子を追加します。 |
DeleteAll | リフレッシャー オブジェクト内のコレクションからすべての項目を削除します。 |
Item | コレクションから指定したリフレッシャー アイテムを返します。 |
更新 | リフレッシャー オブジェクトに含まれるすべての項目を更新します。 |
[削除] | 指定したインデックスを持つリフレッシャー項目オブジェクトまたはオブジェクト セットをリフレッシャーから削除します。 |
プロパティ
SWbemRefresher オブジェクトには、次のプロパティがあります。
プロパティ | アクセスの種類 | 説明 |
---|---|---|
AutoReconnect |
読み取り専用 |
接続が切断された場合に、リフレッシャーがリモート プロバイダーに自動的に再接続するかどうかを指定します。 |
カウント |
読み取り専用 |
リフレッシャー オブジェクト内の項目の数を格納します。 |
例
次の例は、 SWbemRefresher オブジェクトを作成し、 Add と AddEnum メソッドを使用して単一のインスタンスと列挙インスタンスを格納し、データを更新し、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 |
|
タイプ ライブラリ |
|
[DLL] |
|
CLSID |
CLSID_SWbemRefresher |
IID |
IID_ISWbemRefresher |