As mentioned before, a practical use of a data object is that of exchanging data on the clipboard. OLE effectively uses the clipboard to pass an IDataObject pointer from the source to a consumer, setting up a proxy and stub as necessary. In this way, an application's clipboard features can benefit from all of OLE's data transfer enhancements. Chapter 12 will examine the OLE Clipboard in detail, illustrating how you can build data objects on top of any existing clipboard code you might have.