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 值的布尔 OR 操作的结果。

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