次の方法で共有


IWbemHiPerfProvider::CreateRefresher メソッド (wbemprov.h)

IWbemHiPerfProvider::CreateRefresher メソッドは、リフレッシャーを作成します。 返された更新プログラムは、 IWbemHiPerfProvider::CreateRefreshableEnumIWbemHiPerfProvider::CreateRefreshableObject、および IWbemHiPerfProvider::StopRefreshing への後続の呼び出しで使用されます。

メモ プロバイダーがこのメソッドを実装していない場合は、 WBEM_E_PROVIDER_NOT_CAPABLEを返す必要があります。 プロバイダーは、リフレッシャー操作をサポートするためにこのメソッドを実装する必要があります。
 

構文

HRESULT CreateRefresher(
  [in]  IWbemServices  *pNamespace,
  [in]  long           lFlags,
  [out] IWbemRefresher **ppRefresher
);

パラメーター

[in] pNamespace

IWbemServices ポインターを Windows Management に戻します。このポインターは、プロバイダーによって行われた要求にサービスを提供できます。 実行中に Windows Management にコールバックする場合、プロバイダーはこのポインターで AddRef を呼び出す必要があります。

[in] lFlags

予約済み。 このパラメーターは 0 (ゼロ) である必要があります。

[out] ppRefresher

IWbemRefresher インターフェイスのプロバイダーの実装への参照を保持するポインター。

戻り値

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

解説

プロバイダーは 、IWbemRefresher インターフェイスの独自の実装を提供する必要があります。 WMI が複数のリフレッシャーを要求することは有効であり、それぞれが独自の更新操作に使用されます。

リフレッシャーを解放すると、プロバイダーは、リフレッシャーに追加された更新可能なオブジェクトまたは列挙子をクリーンする必要があります。

次のコード例では、 CreateRefresher を実装する方法について説明します。

HRESULT CHiPerfProvider::CreateRefresher(
  /* [in] */IWbemServices *pNamespace,
  /* [in] */ long lFlags,
  /* [out] */ IWbemRefresher** ppRefresher
)
{
    // Allocate a new refresher
    //For Example:
    // CMyRefresher* pMyRefresher = new CMyRefresher();

    // Return the refresher to the ppRefresher
    // [out] parameter
    /*return pMyRefresher->QueryInterface(
     IID_IWbemRefresher, (void**) ppRefresher );*/
}

// Free memory resources.
// For Example:
//pNamespace->Release();
//ppRefresher->Release();
//delete[] pMyRefresher;

要件

   
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemprov.h (Wbemidl.h を含む)
Library Wbemuuid.lib
[DLL] Wmiprvsd.dll

関連項目

WMI プロバイダーの開発

IWbemHiPerfProvider

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

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

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