Provider::P utInstance (constCInstance&,long) 方法 (provider.h)

[Provider 类是 WMI 提供程序框架的一部分,现在视为处于最终状态,对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]

PutInstance 方法更新实例。

语法

HRESULT PutInstance(
  [ref] const CInstance & newInstance,
        long              lFlags
);

参数

[ref] newInstance

已更新的实例。

lFlags

标记的位掩码,其中包含有关更新操作的信息。 这是客户端在 IWbemServices::P utInstance 方法中指定的值。

以下标志由 (处理,并通过 WMI 筛选出) :

  • WBEM_FLAG_RETURN_IMMEDIATELY
有效的 lFlags 值为:
  • WBEM_FLAG_CREATE_ONLY
  • WBEM_FLAG_CREATE_OR_UPDATE
  • WBEM_FLAG_UPDATE_ONLY

返回值

此方法的默认框架提供程序实现将 WBEM_E_PROVIDER_NOT_CAPABLE 返回到调用方法。 IWbemServices::P utInstance 方法列出了最常见的返回值,但可以选择返回任何 COM 返回代码。

注解

当客户端针对类调用 IWbemServices::P utInstance 时,WMI 会调用 PutInstance。 如果框架提供程序更新实例,则必须实现 PutInstance 。 以下列表描述了 PutInstance 的常见实现:

  1. 使用 CInstance 的 Get 方法(例如 CInstance::GetCHString)检查客户端传入的键属性。

    实现应确定提供程序是否支持客户端请求的更改。

  2. 根据需要创建或更新相应的托管对象。
  3. 返回相应的返回值。

    如果提供程序不支持客户端请求的更改,则应返回相应的错误代码。 有关有效错误代码的完整列表,请参阅 IWbemServices::P utInstance

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 provider.h (包括 FwCommon.h)
Library FrameDyn.lib
DLL FrameDynOS.dll;FrameDyn.dll