描述
IWbemRefresher.Refresh方法更新所有可刷新对象,枚举器和嵌套复习。WMI Refresher调用此函数以响应客户端刷新请求。
C++ 语法
HRESULT Refresh( [in] long lFlags ); |
PowerBASIC 语法
METHOD Refresh ( _ BYVAL lFlags AS LONG _ ) AS LONG |
参数
lFlags
修改此方法行为的标志位掩码。
如果指定了WBEM_FLAG_REFRESH_AUTO_RECONNECT,并且连接中断,则刷新器将自动重新连接到提供程序。这是此方法的默认行为。
如果您不想再次尝试重新连接到提供程序,请指定WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT。
返回值
此方法返回一个HRESULT,指示方法调用的状态。下表列出了HRESULT中包含的值。
退货代码 |
描述 |
WBEM_S_NO_ERROR |
该方法成功。 |
WBEM_E_INVALID_PARAMETER |
指定了无效参数。 |
WBEM_E_REFRESHER_BUSY |
复习者忙于另一个操作。 |
WBEM_E_FAILED |
即使操作有效,提供程序也在内部失败。 |
示例代码
以下代码示例介绍如何实现刷新.
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;
}
备注
当刷新枚举器和对象时,提供者应尽可能少的时间。使用IWbemObjectAccess方法和缓存属性句柄进行重用可以显着提高性能。更新枚举器时,提供程序可以删除并重新实例化所有对象,也可以简单地删除并添加更改的实例。您可以选择最佳方法。在任一情况下,缓存实例都可以提高性能。
响应于IWbemRefresher.Refresh的调用,提供者只能访问刷新中的对象和枚举器。但是,对于要填充这些对象的数据进行后台线程轮询,为刷新被调用时准备是非常有效的。
要求
客户 |
需要Windows Vista,Windows XP或Windows 2000 Professional。 |
服务器 |
需要Windows Server 2008,Windows Server 2003或Windows 2000 Server。 |
头 |
在Wbemcli.inc中声明。 |
DLL |
需要Wbemperf.dll。 |