OleQueryCreateFromData function (ole2.h)

Checks whether a data object has one of the formats that would allow it to become an embedded object through a call to either the OleCreateFromData or OleCreateStaticFromData function.

Syntax

HRESULT OleQueryCreateFromData(
  [in] LPDATAOBJECT pSrcDataObject
);

Parameters

[in] pSrcDataObject

Pointer to the IDataObject interface on the data transfer object to be queried.

Return value

This function returns S_OK on success. Other possible values include the following.

Return code Description
S_FALSE
No formats are present that support either embedded- or static-object creation.
OLE_S_STATIC
Formats that support static-object creation are present.

Remarks

When an application retrieves a data transfer object through a call to the OleGetClipboard function, the application should call OleQueryCreateFromData as part of the process of deciding to enable or disable the Edit/Paste or Edit/Paste Special... commands. It tests for the presence of the following formats in the data object:

  • CF_EMBEDDEDOBJECT
  • CF_EMBEDSOURCE
  • cfFileName
  • CF_METAFILEPICT
  • CF_DIB
  • CF_BITMAP
  • CF_ENHMETAFILE
Determining that the data object has one of these formats does not absolutely guarantee that the object creation will succeed, but is intended to help the process.

If OleQueryCreateFromData finds one of the CF_METAFILEPICT, CF_BITMAP, CF_DIB, or CF_ENHMETAFILE formats and none of the other formats, it returns OLE_S_STATIC, indicating that you should call the OleCreateStaticFromData function to create the embedded object.

If OleQueryCreateFromData finds one of the other formats (CF_EMBEDDEDOBJECT, CF_EMBEDSOURCE, or cfFileName), even in combination with the static formats, it returns S_OK, indicating that you should call the OleCreateFromData function to create the embedded object.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header ole2.h
Library Ole32.lib
DLL Ole32.dll
API set ext-ms-win-com-ole32-l1-1-3 (introduced in Windows 10, version 10.0.10240)

See also

OleCreateFromData

OleCreateStaticFromData

OleQueryLinkFromData