Win32 API 日本語リファレンス
ホームSystem.Wmi › IWbemConfigureRefresher

IWbemConfigureRefresher

COM
IID49353c92-516b-11d1-aea6-00c04fb68820継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IWbemConfigureRefresher インターフェイスは、列挙子、オブジェクト、および入れ子のリフレッシャーをリフレッシャーに追加するために、クライアントコードから使用されます。

メソッド 5

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT AddObjectByPath(IWbemServices* pNamespace, LPWSTR wszPath, INT lFlags, IWbemContext* pContext, IWbemClassObject** ppRefreshable, INT* plId)

IWbemConfigureRefresher::AddObjectByPath メソッドは、オブジェクトパスを指定してオブジェクトをリフレッシャーに追加します。

pNamespaceIWbemServices*inWindows Management に戻る IWbemServices ポインターです。プロバイダーが行うあらゆる要求を処理できます。プロバイダーは、実行中に Windows Management を呼び出す場合、このポインターに対して AddRef を呼び出す必要があります。
wszPathLPWSTRinリフレッシャーに追加するオブジェクトのオブジェクトパスを格納した、16 ビット Unicode 文字から成る定数の null 終端文字列です。
lFlagsINTinこのメソッドの動作を変更するフラグのビットマスクです。このパラメーターに WBEM_FLAG_USE_AMENDED_QUALIFIERS を設定すると、返されるインスタンスには、利用可能であればローカライズされた修飾子が含まれます。
pContextIWbemContext*in通常は NULL です。それ以外の場合は、1 つ以上の動的クラスプロバイダーが必要とする IWbemContext オブジェクトへのポインターです。コンテキストオブジェクトに設定する値は、各プロバイダーのドキュメントで指定されている必要があります。このパラメーターの詳細については、 Making Calls to WMI を参照してください。
ppRefreshableIWbemClassObject**out更新可能なインスタンスオブジェクトを格納する IWbemClassObject オブジェクトへの参照を受け取るポインターです。クライアントは、返されたオブジェクトが不要になった時点で Release を呼び出す必要があります。
plIdINT*inout更新可能なオブジェクトを一意に識別する、プロバイダーから返される整数へのポインターです。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。次の一覧は、HRESULT に格納される値を示します。

解説(Remarks)

指定するパスは、High-Performance Provider が提供する有効なオブジェクトを指している必要があります。返されたオブジェクトは、更新処理の実行中にクライアントが操作してはなりません。返された識別子は、 Remove 関数でオブジェクトを削除する際に使用できます。

Note 追加したオブジェクトをユーザーが明示的に削除する必要はありません。クライアントは、返されたオブジェクトが不要になった時点で Release を呼び出す必要があります。
vtbl 4 HRESULT AddObjectByTemplate(IWbemServices* pNamespace, IWbemClassObject* pTemplate, INT lFlags, IWbemContext* pContext, IWbemClassObject** ppRefreshable, INT* plId)

IWbemConfigureRefresher::AddObjectByTemplate メソッドを使用すると、IWbemClassObject のインスタンステンプレートを指定して、更新対象のオブジェクトをリフレッシャーに追加できます。

pNamespaceIWbemServices*inWindows Management に戻る IWbemServices ポインターです。プロバイダーが行うあらゆる要求を処理できます。プロバイダーは、実行中に Windows Management を呼び出す場合、このポインターに対して AddRef を呼び出す必要があります。
pTemplateIWbemClassObject*inインスタンステンプレートを格納した IWbemClassObject オブジェクトへのポインターです。
lFlagsINTinこのメソッドの動作を変更するフラグのビットマスクです。このパラメーターに WBEM_FLAG_USE_AMENDED_QUALIFIERS を設定すると、返されるインスタンスには、利用可能であればローカライズされた修飾子が含まれます。
pContextIWbemContext*in通常は NULL です。それ以外の場合は、1 つ以上の動的クラスプロバイダーが必要とする IWbemContext オブジェクトへのポインターです。コンテキストオブジェクトに設定する値は、各プロバイダーのドキュメントで指定されている必要があります。このパラメーターの詳細については、 Making Calls to WMI を参照してください。
ppRefreshableIWbemClassObject**out更新可能なインスタンスオブジェクトを格納する IWbemClassObject オブジェクトへの参照を受け取るポインターです。クライアントは、返されたオブジェクトが不要になった時点で Release を呼び出す必要があります。
plIdINT*inoutこの更新可能なオブジェクトを一意に識別する、プロバイダーから返される整数へのポインターです。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。次の一覧は、HRESULT に格納される値を示します。

解説(Remarks)

指定するインスタンスは、High-Performance Provider が提供する有効なオブジェクトを指している必要があります。返されたオブジェクトは、更新処理の実行中にクライアントが変更してはなりません。返された識別子は、 Remove 関数でオブジェクトを削除する際に使用できます。

追加したオブジェクトをユーザーが明示的に削除する必要はありません。クライアントは、返されたオブジェクトが不要になった時点で Release を呼び出す必要があります。

vtbl 5 HRESULT AddRefresher(IWbemRefresher* pRefresher, INT lFlags, INT* plId)

IWbemConfigureRefresher::AddRefresher メソッドは、リフレッシャーにリフレッシャーを追加します。

pRefresherIWbemRefresher*inこのリフレッシャーに入れ子にする IWbemRefresher オブジェクトへのポインターです。
lFlagsINTin予約されています。このパラメーターは 0 (ゼロ) でなければなりません。
plIdINT*inout更新可能なオブジェクトを一意に識別する、プロバイダーから返される整数へのポインターです。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。次の一覧は、HRESULT に格納される値を示します。

解説(Remarks)

再帰的に入れ子になったリフレッシャーを追加してはいけません。返された識別子は、 Remove 関数でリフレッシャーを削除する際に使用できます。追加したリフレッシャーをクライアントが明示的に削除する必要はありませんが、クライアントは、リフレッシャーが不要になった時点で Release を呼び出す必要があります。

vtbl 6 HRESULT Remove(INT lId, INT lFlags)

IWbemConfigureRefresher::Remove メソッドは、リフレッシャーからオブジェクト、列挙子、または入れ子のリフレッシャーを削除するために使用します。

lIdINTin削除するオブジェクトを一意に識別する整数です。この識別子は、 IWbemConfigureRefresher::AddObjectByPathIWbemConfigureRefresher::AddObjectByTemplateIWbemConfigureRefresher::AddEnum、または IWbemConfigureRefresher::AddRefresher を呼び出してリフレッシャーにオブジェクトを最初に追加したときに取得します。
lFlagsINTinRemove メソッドの動作を変更するフラグのビットマスクです。このパラメーターに WBEM_FLAG_REFRESH_AUTO_RECONNECT を設定すると、接続が切断された場合にリフレッシャーはリモートプロバイダーへの自動再接続を試みます。これはこのメソッドの既定の動作です。リフレッシャーにリモートプロバイダーへの再接続を試みさせたくない場合は、WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT を指定します。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。次の一覧は、HRESULT に格納される値を示します。

vtbl 7 HRESULT AddEnum(IWbemServices* pNamespace, LPWSTR wszClassName, INT lFlags, IWbemContext* pContext, IWbemHiPerfEnum** ppEnum, INT* plId)

IWbemConfigureRefresher::AddEnum メソッドは、要求されたリフレッシャーに列挙子を追加します。

pNamespaceIWbemServices*inWindows Management に戻る IWbemServices ポインターです。プロバイダーが行うあらゆる要求を処理できます。メソッドが実行中に Windows Management を呼び出す必要がある場合、プロバイダーは pNamespace ポインターに対して AddRef を呼び出す必要があります。
wszClassNameLPWSTRin列挙するクラスの名前を格納した、16 ビット Unicode 文字から成る定数の null 終端文字列です。
lFlagsINTinこのメソッドの動作を変更するフラグのビットマスクです。このパラメーターに WBEM_FLAG_USE_AMENDED_QUALIFIERS を設定すると、返されるインスタンスには、利用可能であればローカライズされた修飾子が含まれます。
pContextIWbemContext*in通常は NULL です。それ以外の場合は、1 つ以上の動的クラスプロバイダーが必要とする IWbemContext オブジェクトへのポインターです。コンテキストオブジェクトに設定する値は、各プロバイダーのドキュメントで指定されている必要があります。このパラメーターの詳細については、 Making Calls to WMI を参照してください。
ppEnumIWbemHiPerfEnum**out列挙結果を格納する IWbemHiPerfEnum オブジェクトへの参照を保持するポインターです。クライアントは、このポインターが不要になった時点で Release を呼び出す必要があります。
plIdINT*inout更新可能な列挙を一意に識別する、プロバイダーから返される整数へのポインターです。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。次の一覧は、次に格納される値を示します。

Note HRESULT

解説(Remarks)

指定するクラスは、High-Performance Provider が提供する有効なクラスでなければなりません。返された列挙子のすべてのインスタンスは、呼び出しの後に問い合わせることができます。更新の呼び出しごとに、列挙子内のインスタンス数は変化する可能性があります。返されるのは指定したクラス名のインスタンスのみです。詳細な列挙はサポートされていないため、指定したクラスのサブクラスは列挙されません。返された列挙子は、 Refresh 処理の実行中にクライアントが操作してはなりません。返された識別子は、 Remove 関数でオブジェクトを削除する際に使用できます。なお、追加した列挙子をユーザーが明示的に削除する必要はありません。ただし、クライアントは、返された列挙子が不要になった時点で Release を呼び出す必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWbemConfigureRefresher "{49353C92-516B-11D1-AEA6-00C04FB68820}"
#usecom global IWbemConfigureRefresher IID_IWbemConfigureRefresher "{}"
#comfunc global IWbemConfigureRefresher_AddObjectByPath      3 sptr,wstr,int,sptr,sptr,var
#comfunc global IWbemConfigureRefresher_AddObjectByTemplate  4 sptr,sptr,int,sptr,sptr,var
#comfunc global IWbemConfigureRefresher_AddRefresher         5 sptr,int,var
#comfunc global IWbemConfigureRefresher_Remove               6 int,int
#comfunc global IWbemConfigureRefresher_AddEnum              7 sptr,wstr,int,sptr,sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。