勇芳软件工作室.汉化:  Windows Management Instrumentation > COM API for WMI > Interfaces > IWbemHiPerfProvider >

CreateRefresher Method

Previous pageReturn to chapter overviewNext page

描述

 

IWbemHiPerfProvider.CreateRefresher方法创建一个复习。随后的IWbemHiPerfProvider.CreateRefreshableEnumIWbemHiPerfProvider.CreateRefreshableObjectIWbemHiPerfProvider.StopRefreshing中的回访将被使用。

 

注意如果提供程序未实现此方法,则必须返回WBEM_E_PROVIDER_NOT_CAPABLE。提供者必须实施此方法来支持复习操作。

 

C++ 语法

 

HRESULT CreateRefresher(

[in]   IWbemServices *pNamespace,

[in]   long lFlags,

[out]  IWbemRefresher **ppRefresher

);

 

PowerBASIC 语法

 

METHOD CreateRefresher ( _

BYVAL pNamespace AS IWbemServices, _

BYVAL lFlags AS LONG, _

BYREF ppRefresher AS IWbemRefresher _

) AS LONG

 

参数

 

pNamespace

 

指向Windows Management的IWbemServices指针,可以为提供商提供的任何请求提供服务。如果在执行过程中要调用Windows Management,则该提供程序应调用该指针的AddRef.

 

lFlags

 

保留。该参数必须为0(零)。

 

ppRefresher

 

指针,以保持对提供者实现IWbemRefresher接口的引用。

 

返回值

 

此方法返回一个HRESULT,表示方法调用的状态。下表列出了HRESULT中包含的值。

 

退货代码

描述

WBEM_S_NO_ERROR

该方法成功。

WBEM_E_PROVIDER_NOT_CAPABLE

提供程序无法检索特定实例,无论它是否识别路径。

 

在所有情况下返回此错误代码,除非您需要特定的返回码。

WBEM_E_FAILED

即使操作有效,提供程序也在内部失败。

WBEM_E_REFRESHER_BUSY

复习忙碌

 

示例代码

 

以下代码示例介绍如何实现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;

 

备注

 

提供者必须提供自己的IWbemRefresher接口的实现。它适用于WMI请求多个复习,每个复习将用于自己的刷新操作。

 

当您释放刷新时,提供程序应清理添加到复习器的任何可刷新对象或枚举器。

 

要求

 

客户

需要Windows Vista,Windows XP或Windows 2000 Professional。

服务器

需要Windows Server 2008,Windows Server 2003或Windows 2000 Server。

在Wbemprov.inc中声明。

DLL

需要Wmiprvsd.dll。