Структура FORMATETC (objidl.h)

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

Синтаксис

typedef struct tagFORMATETC {
  CLIPFORMAT     cfFormat;
  DVTARGETDEVICE *ptd;
  DWORD          dwAspect;
  LONG           lindex;
  DWORD          tymed;
} FORMATETC, *LPFORMATETC;

Члены

cfFormat

Интересующий формат буфера обмена. Существует три типа форматов, распознаваемых OLE:

  • Стандартные форматы обмена, такие как CF_TEXT.
  • Форматы частных приложений понимаются только приложением, предлагающим формат, или другими приложениями, предлагающими аналогичные функции.
  • Форматы OLE, которые используются для создания связанных или внедренных объектов.

ptd

Указатель на структуру DVTARGETDEVICE , содержащую сведения о целевом устройстве, для которого составляются данные. Значение NULL используется всякий раз, когда указанный формат данных не зависит от целевого устройства или когда вызывающему объекту не важно, какое устройство используется. В последнем случае, если для данных требуется целевое устройство, объект должен выбрать соответствующее устройство по умолчанию (часто это дисплей для визуальных компонентов). Данные, полученные из объекта с целевым устройством NULL , например большинство метафайлов, не зависят от целевого устройства. Результирующие данные обычно такие же, как если бы пользователь выбрал команду Сохранить как в меню Файл и выбрал формат обмена.

dwAspect

Указывает, какой объем сведений должен содержаться в отрисовке. Этот параметр должен быть одним из значений перечисления DVASPECT . Один формат буфера обмена может поддерживать несколько аспектов или представлений объекта. Большинство методов передачи и кэширования данных и представления передают информацию об аспектах. Например, вызывающий объект может запросить знаковый рисунок объекта, используя формат буфера обмена метафайла, чтобы получить его. Обратите внимание, что в dwAspect можно использовать только одно значение DVASPECT. То есть dwAspect не может быть результатом логической операции ИЛИ для нескольких значений DVASPECT .

lindex

Часть аспекта, когда данные должны быть разделены между границами страницы. Наиболее распространенным значением является -1, которое идентифицирует все данные. Для аспектов, DVASPECT_THUMBNAIL и DVASPECT_ICON, lindex игнорируется.

tymed

Одна из констант перечисления TYMED , которая указывает тип среды хранения, используемой для передачи данных объекта. Данные можно передавать с помощью любой среды, понятной для объекта. Например, данные можно передать с помощью глобальной памяти, файла диска или структурированных объектов хранилища. Дополнительные сведения см. в описании перечисления TYMED .

Комментарии

Структура FORMATETC используется методами в интерфейсах передачи и представления данных в качестве параметра, указывающего передаваемые данные. Например, метод IDataObject::GetData использует структуру FORMATETC для точного указания типа данных, запрашиваемых вызывающим объектом.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Верхняя часть objidl.h

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

DVASPECT

IDataAdviseHolder

Idataobject

IEnumFORMATETC

IOleCache

OleCreate

OleCreateFromData

OleCreateLink

OleCreateLinkFromData

OleCreateLinkToFile

OleCreateStaticFromData

STATDATA

STGMEDIUM

TYMED