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的开销

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

要求

要求
目标平台 Windows
标头 portabledevicetypes.h

另请参阅

IPortableDeviceValues 接口

IPortableDeviceValues::GetValue

IPortableDeviceValues::RemoveValue