次の方法で共有


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

こちらもご覧ください

WMI プロバイダーの開発

IWbemHiPerfProvider

IWbemRefresher

インスタンス プロバイダーをハイパフォーマンス プロバイダーに変換する

パフォーマンス カウンタ プロバイダ

インスタンス プロバイダーの作成