IPortableDeviceValues 接口

IPortableDeviceValues 接口保存 PROPERTYKEY/PROPVARIANT 对的集合。 集合中的值不需要是相同的 VARTYPE。

值存储为键值对;每个键在集合中必须是唯一的。 客户端可以按 PROPERTYKEY 或从零开始的索引搜索项。 数据值存储为 PROPVARIANT 结构。 可以使用泛型方法 SetValueGetValue 添加或检索任何类型的值,也可以使用特定于所添加数据类型的方法添加项。

Get... 方法要求调用方相应地释放任何检索到的值。 Set... 方法将值复制到集合中。

释放 IPortableDeviceValues 接口时,它会调用 Clear,这会相应地释放为其所有成员分配的内存。

可以从方法检索此接口,或者,如果需要新对象,请使用 CLSID_PortableDeviceValues 调用 CoCreate

成员

IPortableDeviceValues 接口继承自 IUnknown 接口。 IPortableDeviceValues 还具有以下类型的成员:

方法

IPortableDeviceValues 接口包含以下方法。

方法 说明
清楚 从集合中删除所有项。
CopyValuesFromPropertyStore IPropertyStore 的内容复制到集合中。
CopyValuesToPropertyStore 将集合中的所有值复制到 IPropertyStore 接口中。
GetAt 使用提供的从零开始的索引从集合中检索值。
GetBoolValue 检索由键指定的类型VT_BOOL) (BOOL 值。
GetBufferValue 检索 (类型VT_VECTOR的字节数组值 |VT_UI1) 由键指定。
GetCount 检索集合中的项数。
GetErrorValue 检索由键指定的类型VT_ERROR) (HRESULT 值。
GetFloatValue (键指定的类型VT_R4) 检索 FLOAT 值。
GetGuidValue 检索由键指定的类型VT_CLSID) (GUID 值。
GetIPortableDeviceKeyCollectionValue 检索由键指定的类型 (IPortableDeviceKeyCollection 值VT_UNKNOWN) 。
GetIPortableDevicePropVariantCollectionValue 检索由键指定的类型VT_UNKNOWN) (IPortableDevicePropVariantCollection 值。
GetIPortableDeviceValuesCollectionValue (键指定的类型VT_UNKNOWN) 检索 IPortableDeviceValuesCollection 值。
GetIPortableDeviceValuesValue 检索由键指定的类型VT_UNKNOWN) (IPortableDeviceValues 值。
GetIUnknownValue 检索由键指定的类型VT_UNKNOWN) (IUnknown 接口值。
GetKeyValue 检索由键指定的 PROPERTYKEY 值。
GetSignedIntegerValue 检索由键指定的类型VT_I4) (LONG 值。
GetSignedLargeIntegerValue 检索由键指定的类型VT_I8) (LONGLONG 值。
GetStringValue 检索键指定的类型VT_LPWSTR) (字符串值。
GetUnsignedIntegerValue (键指定的类型VT_UI4) 检索 ULONG 值。
GetUnsignedLargeIntegerValue (键指定的类型VT_UI8) 检索 ULONGLONG 值。
GetValue 检索由键指定的 PROPVARIANT 值。
RemoveValue 从集合中删除某一项。
SetBoolValue 将新的 布尔 值 (类型VT_BOOL) 或覆盖现有布尔值。
SetBufferValue (类型VT_VECTOR添加新 的 BYTE* 值 |VT_UI1) 或覆盖现有对象。
SetErrorValue (类型添加新 的 HRESULT 值VT_ERROR) 或覆盖现有值。
SetFloatValue 将新的 FLOAT 值 (类型VT_R4) 或覆盖现有 FLOAT 值。
SetGuidValue 将新的 GUID 值 (类型VT_CLSID) 或覆盖现有 GUID 值。
SetIPortableDeviceKeyCollectionValue 将新的 IPortableDeviceKeyCollectionValue 值 (类型VT_UNKNOWN) 或覆盖现有类型。
SetIPortableDevicePropVariantCollectionValue 将新的 IPortableDevicePropVariantCollection 值 (类型VT_UNKNOWN) 或覆盖现有类型。
SetIPortableDeviceValuesCollectionValue 将新的 IPortableDeviceValuesCollection 值 (类型VT_UNKNOWN) 或覆盖现有类型。
SetIPortableDeviceValuesValue 添加新的 IPortableDeviceValues 值 (类型VT_UNKNOWN) 或覆盖现有值。
SetIUnknownValue 将新的 IUnknown 值 (类型VT_UNKNOWN) 或覆盖现有值。
SetKeyValue 将新的 PROPERTYKEY (类型VT_UNKNOWN) 值或覆盖现有类型。
SetSignedIntegerValue 将新的 LONG 值 (类型VT_I4) 或覆盖现有类型。
SetSignedLargeIntegerValue 将新的 LONGLONG 值 (类型VT_I8) 或覆盖现有值。
SetStringValue (类型添加新的字符串值VT_LPWSTR) 或覆盖现有字符串值。
SetUnsignedIntegerValue 将新的 ULONG 值 (类型VT_UI4) 或覆盖现有的 ULONG 值。
SetUnsignedLargeIntegerValue 将新的 ULONGLONG 值 (类型VT_UI8) 或覆盖现有值。
SetValue 添加新 的 PROPVARIANT 值或覆盖现有值。

要求

要求
标头
PortableDeviceTypes.h

PortableDeviceGUIDs.lib

另请参阅

集合接口