FORMATETC 结构 (objidl.h)

表示通用剪贴板格式。 它通过增强来包含目标设备、数据的方面或视图以及存储介质指示器。 如果人们可能希望找到剪贴板格式,OLE 会改用 FORMATETC 数据结构。 此结构用作 OLE 函数和需要数据格式信息的方法中的参数。

Syntax

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 结构来准确指示调用方请求的数据类型。

要求

Requirement 价值
最低支持的客户端 Windows 2000 Professional [桌面应用 |UWP 应用]
支持的最低服务器 Windows 2000 Server [桌面应用 |UWP 应用]
Header objidl.h

另请参阅

DVASPECT

IDataAdviseHolder

IDataObject

IEnumFORMATETC

IOleCache

OleCreate

OleCreateFromData

OleCreateLink

OleCreateLinkFromData

OleCreateLinkToFile

OleCreateStaticFromData

STATDATA

STGMEDIUM

TYMED