OleQueryCreateFromData 函数 (ole2.h)

通过调用 OleCreateFromData 或 OleCreateStaticFromData 函数,检查数据对象是否具有允许其成为嵌入对象的格式之一。

语法

HRESULT OleQueryCreateFromData(
  [in] LPDATAOBJECT pSrcDataObject
);

参数

[in] pSrcDataObject

指向要查询的数据传输对象上的 IDataObject 接口的指针。

返回值

此函数在成功时返回S_OK。 其他可能的值包括以下内容。

返回代码 说明
S_FALSE
不存在支持嵌入式或静态对象创建的格式。
OLE_S_STATIC
存在支持静态对象创建的格式。

注解

当应用程序通过调用 OleGetClipboard 函数检索数据传输对象时,应用程序应在决定启用或禁用 Edit/PasteEdit/Paste Special... 命令的过程中调用 OleQueryCreateFromData。 它测试数据对象中是否存在以下格式:

  • CF_EMBEDDEDOBJECT
  • CF_EMBEDSOURCE
  • cfFileName
  • CF_METAFILEPICT
  • CF_DIB
  • CF_BITMAP
  • CF_ENHMETAFILE
确定数据对象是否具有这些格式之一并不能绝对保证对象创建成功,但旨在帮助该过程。

如果 OleQueryCreateFromData 找到CF_METAFILEPICT、CF_BITMAP、CF_DIB或CF_ENHMETAFILE格式之一,并且没有其他格式,它将返回OLE_S_STATIC,指示应调用 OleCreateStaticFromData 函数来创建嵌入对象。

如果 OleQueryCreateFromData 找到其他格式 (CF_EMBEDDEDOBJECT、CF_EMBEDSOURCE或 cfFileName) ,即使与静态格式结合使用,也会返回S_OK,指示应调用 OleCreateFromData 函数来创建嵌入对象。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ole2.h
Library Ole32.lib
DLL Ole32.dll
API 集 ext-ms-win-com-ole32-l1-1-3 (在 Windows 10 版本 10.0.10240 中引入)

另请参阅

OleCreateFromData

OleCreateStaticFromData

OleQueryLinkFromData