Метод IPortableDeviceValues::SetValue

Метод SetValue добавляет новое значение PROPVARIANT или перезаписывает существующее.

Синтаксис

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

Параметры

key [in]

REFPROPERTYKEY, указывающий элемент для создания или перезаписи.

pValue [in]

ОБЪЕКТ PROPVARIANT, указывающий новое значение. Пакет SDK копирует значение, поэтому вызывающий объект может освободить локальную переменную, вызвав PropVariantClear после вызова этого метода.

Возвращаемое значение

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

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

Если параметр VARTYPE для pValue VT_VECTOR или VT_UI1, установка буфера нулевого или нулевого размера не поддерживается. Например, ни pValue.caub.pElems = NULL , ни pValue.caub.cElems = 0 не допускаются.

Этот метод можно использовать для получения значения любого типа из коллекции. Однако, если вы заранее знаете тип значения, используйте один из специализированных методов Set... этого интерфейса, чтобы избежать дополнительных затрат на работу со значениями PROPVARIANT напрямую.

Если существующее значение имеет тот же ключ, который указан параметром key , оно перезаписывает существующее значение без каких-либо предупреждений. Существующая память ключа освобождается соответствующим образом.

Требования

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

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

Интерфейс IPortableDeviceValues

IPortableDeviceValues::GetValue

IPortableDeviceValues::RemoveValue