Поделиться через


Метод IPropertyStore::SetValue (propsys.h)

Этот метод задает значение свойства либо заменяет или удаляет существующее значение.

Синтаксис

HRESULT SetValue(
  REFPROPERTYKEY key,
  REFPROPVARIANT propvar
);

Параметры

key

TBD

propvar

TBD

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

Метод IPropertyStore::SetValue может возвращать любой из следующих вариантов:

Код возврата Описание
S_OK
Изменение свойства выполнено успешно.
INPLACE_S_TRUNCATED
Значение задано, но усечено.
STG_E_ACCESSDENIED
Это код ошибки. Хранилище свойств было доступно только для чтения, поэтому методу не удалось задать значение.

Комментарии

IPropertyStore::SetValue влияет только на текущий экземпляр хранилища свойств. Обработчик свойств реализуется IPropertyStore::SetValue путем накопления изменений свойств в структуре данных в памяти. Изменения свойств записываются в поток только при вызове метода IPropertyStore::Commit .

Если для хранилища свойств только для чтения вызывается IPropertyStore::Commit , обработчик свойств определяет это и возвращает STG_E_ACCESSDENIED.

Если значение было добавлено или удалено в результате SetValue, последующие перечисления IPropertyStore::GetCount и IPropertyStore::GetAt отражают это изменение и последующие вызовы для IPropertyStore::SetValue отражения измененного значения.

Добавление нового свойства

Если значение свойства, на которое указывает ключ, не существует в хранилище, IPropertyStore::SetValue добавляет значение в хранилище.

Замена значения существующего свойства

Если значение свойства, на которое указывает ключ, уже существует в хранилище, сохраненное значение заменяется.

Удаление существующего свойства

Чтобы удалить значение из хранилища свойств, задайте для элемента vt структуры, на которую указывает pv, значение VT_EMPTY. Если этого значения нет, ничего не делать, и метод возвращает S_OK.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционной системы Windows.
Целевая платформа Универсальное
Верхняя часть propsys.h
Библиотека Propsys.idl
IRQL Все уровни

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

IPropertyStore

IPropertyStore::Commit

IPropertyStore::GetAt

IPropertyStore::GetCount