OleQueryCreateFromData
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.
WINOLEAPI OleQueryCreateFromData(
|
IDataObject * pSrcDataObject |
//Pointer to the data transfer object to be queried |
|
); |
|
Parameter
pSrcDataObject
[in] Pointer
to the IDataObject interface on the data transfer object to be queried.
Return Values
S_OK
Formats that
support embedded-object creation are present.
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
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, or CF_DIB 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.
See Also