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


Метод IPropertyBag::Write (oaidl.h)

Сохраните именованное свойство в инициализированном вызывающем объекте VARIANT.

Синтаксис

HRESULT Write(
  LPCOLESTR pszPropName,
  VARIANT   *pVar
);

Параметры

pszPropName

Адрес строки, содержащей имя свойства для записи. Этот параметр не может иметь значение NULL.

pVar

Адрес инициализированного вызывающего объекта VARIANT, который содержит значение свойства для сохранения. Вызывающий объект является владельцем variant и отвечает за все его выделения. То есть контейнер свойств не пытается освободить данные в VARIANT.

Комментарии

Метод Write указывает контейнеру свойств сохранить свойство с именем pszPropName , используя тип и значение в инициализированном объекте VARIANT вызывающего объекта в pVar. В некоторых случаях вызывающий объект может сообщить контейнеру свойств сохранить другой объект, например, когда pVar->vt VT_UNKNOWN. В таких случаях контейнер свойств запрашивает у этого указателя объекта интерфейс сохраняемости, например IPersistStream или IPersistPropertyBag, и этот объект также сохраняет свои данные. Обычно это приводит к тому, что контейнер свойств имеет массив байтов для этого объекта, который можно сохранить в виде закодированного текста, например шестнадцатеричную строку, MIME и т. д. При последующем использовании контейнера свойств для повторной инициализации элемента управления клиент, владеющий контейнером свойств, должен повторно создать объект, когда вызывающий объект запрашивает его, инициализировав этот объект ранее сохраненными битами.

Это позволяет эффективно выполнять операции сохраняемости для свойств больших двоичных объектов (BLOB), таких как рисунок, где владелец контейнера свойств сообщает объекту рисунка (который управляется как свойство в сохраненном элементе управления) о сохранении в определенном расположении. Это позволяет избежать потенциальных дополнительных операций копирования, которые могут быть связаны с другими механизмами сохраняемости на основе свойств.

E_NOTIMPL не является допустимым кодом возврата, так как любой объект, реализующий этот интерфейс, должен поддерживать всю функциональность интерфейса.

Требования

Требование Значение
Минимальная версия клиента сборка Windows 10 20348
Минимальная версия сервера сборка Windows 10 20348
Верхняя часть oaidl.h