描述
IWbemQualifierSet.Put方法写入命名限定符和值。新的限定符将覆盖以前的同名值。如果限定符不存在,则创建它。
有时不可能写入限定符的值,例如,如果限定符是从另一个对象传播的。通常,传播的限定符是只读的,但它们可以被覆盖。有关详细信息,请参阅限定口味.
使用键限定符时,不需要指定任何口味或传播规则。
用户可能不会创建名称以下划线(_)开头或结尾的限定符。这是为系统类和属性保留的。
C++ 语法
HRESULT Put( [in] LPCWSTR wszName, [in] VARIANT *pVal, [in] LONG lFlavor ); |
PowerBASIC 语法
METHOD Put ( _ BYREF wszName AS WSTRINGZ, _ BYREF pVal AS VARIANT, _ BYVAL lFlavor AS LONG _ ) AS LONG |
参数
wszName
正在写入的限定词的名称。指针被视为只读。
pVal
不能为空。这必须指向一个有效的VARIANT,其中包含要写入的限定符值。指针被视为只读。
只支持类型为VT_I4,VT_R8,VT_BSTR,VT_BOOL的变量和数组。
lFlavor
这个限定词所需的限定词。下表列出了lFlavor的适当常数。默认值为零(0)。
不变 |
含义 |
WBEM_FLAVOR_OVERRIDABLE 0 &H0 |
限定符值可以在派生类或实例中覆盖。这是默认值。使用此常量与使用EnableOverride标志相同。 |
WBEM_FLAVOR_FLAG_ PROPAGATE_TO_INSTANCE 1 &H1 |
限定符被传播到实例。使用此常量与使用ToInstance标志相同。 |
WBEM_FLAVOR_FLAG_ PROPAGATE_TO_DERIVED_CLASS 2 &H2 |
限定符被传播到派生类。使用此常量与使用ToSubClass标志相同。 |
WBEM_FLAVOR_NOT_OVERRIDABLE 16 &H10 |
限定符值不能在派生类或实例中覆盖。使用此常量与使用DisableOverride标志相同。 |
WBEM_FLAVOR_AMENDED 128 &H80 |
限定词是本地化的。使用此常量与使用修订标志相同。 |
返回值
此方法返回一个HRESULT,指示方法调用的状态。下表列出了HRESULT中包含的值。
退货代码 |
描述 |
WBEM_E_CANNOT_BE_KEY |
非法尝试在不能成为关键字的属性上指定键限定符。这些键在对象的类定义中指定,不能在每个实例的基础上进行更改。 |
WBEM_E_INVALID_PARAMETER |
指定了无效参数。 |
WBEM_E_INVALID_QUALIFIER_TYPE |
PVAL参数不属于法定限定词类型。 |
WBEM_E_OVERRIDE_NOT_ALLOWED |
由于拥有对象不允许覆盖,因此无法对此限定符执行IWbemQualifierSet :: Put操作。 |
WBEM_S_NO_ERROR |
通话成功。 |
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
头 |
在Wbemcli.inc中声明。 |
DLL |
需要Fastprox.dll。 需要Krnlprov.dll。 需要Ncprov.dll。 需要Wbemcore.dll。 |