OBJECTDESCRIPTOR 结构 (oleidl.h)
表示用于CF_OBJECTDESRIPTOR和CF_LINKSRCDESCRIPTOR文件格式的数据结构。 这些格式在数据传输操作期间提供用户界面信息,例如, “选择性粘贴 ”对话框或在拖放操作期间提供目标反馈信息。
语法
typedef struct tagOBJECTDESCRIPTOR {
ULONG cbSize;
CLSID clsid;
DWORD dwDrawAspect;
SIZEL sizel;
POINTL pointl;
DWORD dwStatus;
DWORD dwFullUserTypeName;
DWORD dwSrcOfCopy;
} OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR;
成员
cbSize
结构的大小(以字节为单位)。
clsid
要传输的对象的 CLSID。 clsid 用于获取“选择性粘贴”对话框中“显示为图标”选项的图标,并且仅在提供“嵌入源”或“嵌入对象”格式时适用。 如果两者均未提供,则应CLSID_NULL clsid 的值。 通过加载 对象并调用 IOleObject::GetUserClassID 方法,源可以检索 clsid。 请注意,对于链接对象,此值与 IPersist::GetClassID 方法返回的值不同。
dwDrawAspect
对象的显示方面。 通常,此值DVASPECT_CONTENT或DVASPECT_ICON。 如果源应用程序最初没有绘制对象,则 dwDrawAspect 字段包含一个零值 (该值与DVASPECT_CONTENT) 不同。 有关详细信息,请参阅 DVASPECT。
sizel
对象的真实范围 (不裁剪或缩放) HIMETRIC 单位。 设置此字段是可选的。 对于不绘制要传输的对象的应用程序,该值可以 (0,0) 。 此字段主要由拖放操作的目标使用,因此它们可以向用户提供适当的反馈。
pointl
从启动拖放操作的对象左上角的偏移量( 以 HIMETRIC 为单位)。 此字段仅对拖放传输操作有意义,因为它对应于单击鼠标以启动拖放操作的点。 对于其他传输情况(例如剪贴板复制和粘贴),该值 (0,0) 。
dwStatus
对象的状态标志的副本。 这些标志由 OLEMISC 枚举定义。 如果正在传输嵌入的对象,则通过调用 IOleObject::GetMiscStatus 方法返回这些对象。
dwFullUserTypeName
查找要传输的对象的完整用户类型名称的偏移量。 它指定从 OBJECTDESCRIPTOR 数据结构的开头到以 null 结尾的字符串的偏移量(以字节为单位),该字符串指定要传输的对象的完整用户类型名称。 如果字符串不存在,则值为零。 数据传输目标使用此字符串在“ 选择性粘贴 ”对话框中创建标签。 当省略此字符串时,目标应用程序必须能够处理这种情况。
dwSrcOfCopy
从数据结构的开头到指定传输源的以 null 结尾的字符串的偏移量(以字节为单位)。 dwSrcOfCopy 成员通常实现为标识数据源的临时名字对象的显示名称。 dwSrcOfCopy 的值显示在“选择性粘贴”对话框的“源”行中。 零值指示字符串不存在。 如果 dwSrcOfCopy 为零,则字符串“未知源”将显示在“ 选择性粘贴 ”对话框中。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | oleidl.h |