interface provides data transfer capabilities and notification of changes in
data. The format of the transferred data is specified along with the medium
through which OLE transfers the data. Optionally, the data can be rendered for a
specific target device. In addition to retrieving and storing data, the IDataObject
interface contains methods to enumerate available formats and to set up an
advisory sink for handling change notifications.
A data object is an object that contains an IDataObject
implementation. Data objects may support all or some of the functions
available through the IDataObject
interface. For example, some data objects do not allow callers to send them
data. Other data objects do not support advisory connections and change
notifications. However, for those data objects that do support change notifications,
OLE provides an object called a data advise holder. Since a data object can have
multiple connections, each with their own set of attributes, managing these
connections and sending the appropriate notifications gets complex. The data
advise holder exists to simplify this task.
When to Implement
You implement the IDataObject
interface if you are developing a container or server application that is
capable of transferring data. For example, if your application allows its data to
be pasted or dropped into another application, you must implement the IDataObject
OLE provides implementations for its default object handler and its cache.
When to Use
Any application that can receive data uses the methods in the IDataObject
When you call the methods in the IDataObject
interface, you specify a format, a medium, and, optionally, a target device
for which the data should be rendered. If you want to be notified when the data
changes, you can set up an advisory connection through which notifications can
Methods in VTable Order
||Renders the data described in a FORMATETC structure and transfers it through the STGMEDIUM structure.
||Renders the data described in a FORMATETC structure and transfers it through the STGMEDIUM structure allocated by the caller.
||Determines whether the data object is capable of rendering the data described
in the FORMATETC structure.
||Provides a potentially different but logically equivalent FORMATETC structure.
||Provides the source data object with data described by a FORMATETC structure and an STGMEDIUM structure.
||Returns an object to enumerate the FORMATETC supported by the data object.
||Creates a connection between a data object and an advise sink so the advise
sink can receive notifications of changes in the data object.
||Destroys a notification previously set up with DAdvise.
||Returns an object to enumerate the current advisory connections.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages