IOleObject::GetClipboardData
Retrieves a
data object containing the current contents of the embedded object on which
this method is called. Using the pointer to this data object, it is possible to
create a new embedded object with the same data as the original.
HRESULT GetClipboardData(
DWORD dwReserved, |
//Reserved |
IDataObject **ppDataObject |
//Indirect pointer to storage of data object |
); |
|
Parameters
dwReserved
[in] Reserved
for future use; must be zero.
ppDataObject
[out]
Indirect pointer to the IDataObject interface on the data object. If an
error is returned, this parameter must be set to NULL. Each time an object
receives a call to GetClipboardData, it must increase the reference
count on the pointer that the method returns. It is the caller s responsibility
to call Release when it is done with the pointer.
Return Values
S_OK
The data
transfer object is successfully returned.
E_NOTIMPL
GetClipboardData is not supported.
OLE_E_NOTRUNNING
The object is
not running.
Remarks
You can use
the GetClipboardData method to convert a linked object to an embedded
object, in which case the container application would call IOleObject::GetClipboardData
and then pass the data received to OleCreateFromData
Notes to Callers
If you want a
stable snapshot of the current contents of an embedded object, call IOleObject::GetClipboardData.
Should the data change, you will need to call the function again for an updated
snapshot. If you want the caller to be informed of changes that occur to the
data, call IDataObject::QueryInterface, then call IDataObject::DAdvise
Notes to Implementers
If you
implement this function, you must return an IDataObject
See Also