IWbemRefresher::Refresh メソッド (wbemcli.h)
IWbemRefresher::Refresh メソッドは、更新可能なすべてのオブジェクト、列挙子、入れ子になった更新プログラムを更新します。 WMI Refresher は、Refresh に対するクライアント要求に応答してこの関数を呼び出 します。
構文
HRESULT Refresh(
[in] long lFlags
);
パラメーター
[in] lFlags
このメソッドの動作を変更するフラグのビットマスク。
WBEM_FLAG_REFRESH_AUTO_RECONNECTが指定され、接続が切断された場合、リフレッシャーはプロバイダーへの再接続を自動的に試みます。 これは、このメソッドの既定の動作です。
リフレッシャーがプロバイダーへの再接続を試みたくない場合は、 WBEM_FLAG_REFRESH_NO_AUTO_RECONNECTを指定します。
戻り値
このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT 内に含まれる値の一覧です。
注釈
列挙子とオブジェクトを更新する場合、プロバイダーはできるだけ少ない時間を要する必要があります。 再利用のために IWbemObjectAccess メソッドとキャッシュ プロパティ ハンドルを使用すると、パフォーマンスが大幅に向上します。 列挙子を更新する場合、プロバイダーは、すべてのオブジェクトを削除して再インスタンス化するか、単に変更されたインスタンスを削除して追加することができます。 最適なアプローチを選択するのはあなた次第です。 どちらの場合も、キャッシュ インスタンスによってパフォーマンスが向上する可能性があります。
プロバイダーは、 IWbemRefresher::Refresh の呼び出しに応答して、リフレッシャー内のオブジェクトと列挙子にのみアクセスする必要があります。 ただし、 Refresh が呼び出されたときに準備するために、これらのオブジェクトを埋めるデータをバックグラウンド スレッドでポーリングすることは完全に有効です。
例
次のコード例では、Refresh を実装する方法について説明 します。
HRESULT CMyHiPerfProviderRefresher::Refresh(
/* [in] */long lFlags
)
{
// Run through all the objects and update their
// data.
// Now run through the enumerators.
// Empty the enumerator and refill it.
return WBEM_S_NO_ERROR;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | wbemcli.h (Wbemidl.h を含む) |
Library | Wbemuuid.lib |
こちらもご覧ください
インスタンス プロバイダーをハイパフォーマンス プロバイダーに変換する