Интерфейс IPortableDeviceValues

Интерфейс IPortableDeviceValues содержит коллекцию пар PROPERTYKEY/PROPVARIANT . Значения в коллекции не обязательно должны совпадать с VARTYPE.

Значения хранятся в виде пар "ключ-значение"; каждый ключ должен быть уникальным в коллекции. Клиенты могут искать элементы по PROPERTYKEY или индексу с нуля. Значения данных хранятся в виде структур PROPVARIANT . Вы можете добавлять или извлекать значения любого типа с помощью универсальных методов SetValue и GetValue или добавлять элементы с помощью метода, относягося к типу добавленных данных.

Методы Get... требуют, чтобы вызывающий объект освободил все полученные значения соответствующим образом. Методы Set... копируют значение в коллекцию.

При освобождении интерфейса IPortableDeviceValues он вызывает Clear, который освобождает память, выделенную для всех его членов соответствующим образом.

Этот интерфейс можно получить из метода или, если требуется новый объект, вызвать CoCreate с CLSID_PortableDeviceValues.

Элементы

Интерфейс IPortableDeviceValues наследуется от интерфейса IUnknown . IPortableDeviceValues также имеет следующие типы элементов:

Методы

Интерфейс IPortableDeviceValues содержит следующие методы.

Метод Описание
Clear Удаляет все элементы из коллекции.
CopyValuesFromPropertyStore Копирует содержимое IPropertyStore в коллекцию.
CopyValuesToPropertyStore Копирует все значения из коллекции в интерфейс IPropertyStore .
Getat Извлекает значение из коллекции, используя предоставленный индекс с отсчитываемого от нуля.
GetBoolValue Извлекает значение BOOL (тип VT_BOOL), указанное ключом.
GetBufferValue Извлекает значение массива байтов (тип VT_VECTOR | VT_UI1), заданный ключом.
GetCount Извлекает количество элементов в коллекции.
GetErrorValue Извлекает значение HRESULT (тип VT_ERROR), указанное ключом.
GetFloatValue Извлекает значение FLOAT (тип VT_R4), заданное ключом.
GetGuidValue Извлекает значение GUID (тип VT_CLSID), заданное ключом.
GetIPortableDeviceKeyCollectionValue Извлекает значение IPortableDeviceKeyCollection (тип VT_UNKNOWN), заданное ключом.
GetIPortableDevicePropVariantCollectionValue Извлекает значение IPortableDevicePropVariantCollection (тип VT_UNKNOWN), заданное ключом.
GetIPortableDeviceValuesCollectionValue Извлекает значение IPortableDeviceValuesCollection (тип VT_UNKNOWN), заданное ключом.
GetIPortableDeviceValuesValue Извлекает значение IPortableDeviceValues (тип VT_UNKNOWN), заданное ключом.
GetIUnknownValue Извлекает значение интерфейса IUnknown (тип VT_UNKNOWN), заданное ключом.
GetKeyValue Извлекает значение PROPERTYKEY, заданное ключом.
GetSignedIntegerValue Извлекает значение LONG (тип VT_I4), заданное ключом.
GetSignedLargeIntegerValue Извлекает значение LONGLONG (тип VT_I8), указанное ключом.
GetStringValue Извлекает строковое значение (тип VT_LPWSTR), заданное ключом.
GetUnsignedIntegerValue Извлекает значение ULONG (тип VT_UI4), заданное ключом.
GetUnsignedLargeIntegerValue Извлекает значение ULONGLONG (тип VT_UI8), указанное ключом.
GetValue Извлекает значение PROPVARIANT , заданное ключом.
RemoveValue Удаляет элемент из коллекции.
SetBoolValue Добавляет новое логическое значение (тип VT_BOOL) или перезаписывает существующее.
SetBufferValue Добавляет новое значение BYTE* (тип VT_VECTOR | VT_UI1) или перезаписывает существующий.
SetErrorValue Добавляет новое значение HRESULT (тип VT_ERROR) или перезаписывает существующее.
SetFloatValue Добавляет новое значение FLOAT (тип VT_R4) или перезаписывает существующее.
SetGuidValue Добавляет новое значение GUID (тип VT_CLSID) или перезаписывает существующее значение.
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) или перезаписывает существующее.
SetUnsignedLargeIntegerValue Добавляет новое значение ULONGLONG (тип VT_UI8) или перезаписывает существующее.
SetValue Добавляет новое значение PROPVARIANT или перезаписывает существующее.

Требования

Требование Значение
Заголовок
PortableDeviceTypes.h
Библиотека
PortableDeviceGUIDs.lib

См. также раздел

Интерфейсы коллекции