IPortableDeviceValues::SetValue 方法

SetValue 方法添加新的 PROPVARIANT 值或覆盖现有值。

语法

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

参数

key [in]

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

pValue [in]

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

返回值

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

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

备注

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

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

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

要求

要求
标头
PortableDeviceTypes.h

PortableDeviceGUIDs.lib

另请参阅

IPortableDeviceValues 接口

IPortableDeviceValues::GetValue

IPortableDeviceValues::RemoveValue