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

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

Синтаксис

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

Members

cfFormat

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

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

ptd

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

dwAspect

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

lindex

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

tymed

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

Замечания

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

Требования

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

См. также

DVASPECT

IDataAdviseHolder

IDataObject

IEnumFORMATETC

IOleCache

OleCreate

OleCreateFromData

OleCreateLink

OleCreateLinkFromData

OleCreateLinkToFile

OleCreateStaticFromData

STATDATA

STGMEDIUM

TYMED