Структура 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 |