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


Метод IOleCache::SetData (oleidl.h)

Инициализирует кэш данными в указанном формате и на указанном носителе.

Синтаксис

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

Параметры

[in] pformatetc

Указатель на структуру FORMATETC , задающую формат данных презентации, помещаемых в кэш.

[in] pmedium

Указатель на структуру STGMEDIUM , указывающую среду хранения, содержащую данные представления.

[in] fRelease

Указывает владение носителем после завершения метода . Если параметр fRelease имеет значение TRUE, кэш становится владельцем, освобождая среду после завершения использования. Если параметр fRelease имеет значение FALSE, вызывающий объект сохраняет право собственности и отвечает за освобождение среды. Кэш может использовать только среду хранения в течение всего вызова.

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

Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
DV_E_LINDEX
Недопустимое значение для pformatetc-lindex>. В настоящее время поддерживается только -1.
DV_E_FORMATETC
Недопустимая структура FORMATETC.
DV_E_TYMED
Недопустимое значение для pformatetc-tymed>.
DV_E_DVASPECT
Недопустимое значение для pformatetc-dwAspect>.
OLE_E_BLANK
Существует неинициализированный объект.
DV_E_TARGETDEVICE
Объект является статическим, а pformatetc-ptd> имеет значение, отличное от NULL.
STG_E_MEDIUMFULL
Среда хранения заполнена.

Комментарии

IOleCache::SetData обычно вызывается при создании объекта из буфера обмена или с помощью операции перетаскивания, а для создания объекта используются данные Embed Source.

IOleCache::SetData и IOleCache::InitCache очень похожи. Существует два main различия. Первое отличие заключается в том, что, хотя IOleCache::InitCache инициализирует кэш с помощью формата представления, предоставленного объектом данных, IOleCache::SetData инициализирует его в одном формате. Во-вторых, метод IOleCache::SetData игнорирует флаг ADVF_NODATA, а IOleCache::InitCache подчиняется этому флагу.

Контейнер может использовать этот метод для поддержки одного аспекта объекта, например значка объекта.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header oleidl.h

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

IOleCache

IOleCache::Cache

IOleCache::SetData