Provider::EnumerateInstances 方法 (provider.h)
[Provider 类是 WMI 提供程序框架的一部分,现在视为处于最终状态,对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]
WMI 调用 EnumerateInstances 方法以检索框架提供程序的 类的所有实例。
语法
HRESULT EnumerateInstances(
MethodContext *pMethodContext,
long lFlags
);
参数
pMethodContext
指向此调用的上下文对象的指针。 此值包含客户端指定的任何 IWbemContext 属性。 此外,此指针必须用作对 WMI 的任何调用的参数。
lFlags
标志的位掩码,其中包含有关 EnumerateInstances 操作的信息 。 这是客户端在 IWbemServices::CreateInstanceEnum 方法中指定的值。
以下标志由 (处理,并通过 WMI 筛选出) :
- WBEM_FLAG_DEEP
- WBEM_FLAG_SHALLOW
- WBEM_FLAG_RETURN_IMMEDIATELY
- WBEM_FLAG_FORWARD_ONLY
- WBEM_FLAG_BIDIRECTIONAL
- WBEM_FLAG_USE_AMENDED_QUALIFIERS
返回值
此方法的默认框架提供程序实现将 WBEM_E_PROVIDER_NOT_CAPABLE 返回到调用方法。 IWbemServices::CreateInstanceEnum 方法列出了最常见的返回值,但可以选择返回任何 COM 返回代码。
注解
EnumerateInstances 通过将零个 CInstance 实例实例化并将返回值设置为WBEM_S_NO_ERROR来返回零实例不是错误。
当客户端应用程序调用 IWbemServices::CreateInstanceEnum 时,WMI 通常会调用 EnumerateInstances,尽管 WMI 在其他情况下也可能调用 EnumerateInstances。 下面是重写 EnumerateInstances 的常用方法:
- 使用 Provider::CreateNewInstance 创建类的空实例。
- 使用 CInstance 类的 Set 方法填充空实例的属性,例如 CInstance::SetByte 或 CInstance::SetStringArray。
- 使用 CInstance::Commit 将实例发送回客户端。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | provider.h (包括 FwCommon.h) |
Library | FrameDyn.lib |
DLL | FrameDynOS.dll;FrameDyn.dll |