IOleObject::GetClipboardData

This method retrieves a data object that contains 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, 
  IDataObject** ppDataObject
);

Parameters

  • dwReserved
    [in] Reserved for future use; set to zero.
  • ppDataObject
    [out] 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 GetClipboardData, it must increase the reference count on *ppDataObject. It is the caller's responsibility to call IUnknown::Release when it is done with *ppDataObject.

Return Values

One of the values described in the following table is returned.

Value Description
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 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.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Notes to Callers

If you want a stable snapshot of the current contents of an embedded object, call 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 IUnknown::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

OS Versions: Windows CE 2.0 and later.
Header: Oleidl.h, Oleidl.idl.
Link Library: Oleaut32.lib, Uuid.lib.

See Also

IOleObject | Determining Supported COM APIs | IDataObject | IDataObject::DAdvise | IUnknown::Release | IUnknown::QueryInterface

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.