IPortableDeviceValues::SetValue 方法 (portabledevicetypes.h)

添加新值或覆盖现有值。

语法

HRESULT SetValue(
  [in] REFPROPERTYKEY    key,
  [in] const PROPVARIANT *pValue
);

参数

[in] key

一个 REFPROPERTYKEY ,指定要创建或覆盖的项。

[in] pValue

一个指定新值的 PROPVARIANT 。 SDK 复制该值,因此调用方可以在调用此方法后调用 PropVariantClear 释放局部变量。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。

注解

如果 pValue 的 VARTYPE VT_VECTOR 或 VT_UI1,则不支持设置 NULL 或零大小的缓冲区。 例如,不允许 pValue.caub.pElems = NULL 或 pValue.caub.cElems = 0。

此方法可用于从集合中检索任何类型的值。 但是,如果事先知道值类型,请使用一个专用 ...此接口的方法,以避免直接使用 PROPVARIANT的开销

如果现有值具有由 参数指定的相同键,则会覆盖现有值,而不显示任何警告。 已适当释放现有密钥内存。

要求

   
目标平台 Windows
标头 portabledevicetypes.h

另请参阅

IPortableDeviceValues 接口

IPortableDeviceValues::GetValue

IPortableDeviceValues::RemoveValue