IOleObject::GetClipboardData method (oleidl.h)

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.

Syntax

HRESULT GetClipboardData(
  [in]  DWORD       dwReserved,
  [out] IDataObject **ppDataObject
);

Parameters

[in] dwReserved

This parameter is reserved and must be zero.

[out] ppDataObject

Address of IDataObject pointer variable that receives the interface pointer to the data object. If an error occurs, ppDataObject must be set to NULL. Each time an object receives a call to IOleObject::GetClipboardData, it must increase the reference count on ppDataObject. It is the caller's responsibility to call Release when it is done with ppDataObject.

Return value

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

Return code Description
E_NOTIMPL

GetClipboardData is not supported.

OLE_E_NOTRUNNING
The object is not running.

Remarks

You can use the IOleObject::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. This method returns a pointer to a data object that is identical to what would have been passed to the clipboard by a standard copy operation.

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 QueryInterface, then call IDataObject::DAdvise.

Notes to Implementers

If you implement this function, you must return an IDataObject pointer for an object whose data will not change.

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 oleidl.h

See also

IDataObject

IOleObject

IOleObject::InitFromData

OleCreateFromData