Interfaces
The following interfaces are used to implement compound documents and perform data transfer between applications.
| Interface | Description |
|---|---|
| IAdviseSink | Enables containers and other objects to receive notifications of data changes, view changes, and compound-document changes occurring in objects of interest. |
| IAdviseSink2 | An extension to IAdviseSink that adds a method to handle a change in the moniker of a linked object. |
| IAdviseSinkEx | An extension to IAdviseSink that adds the ability to notify the sink of changes in an object's view status. |
| IDataAdviseHolder | Creates and manages advisory connections between a data object and one or more advise sinks. |
| IDataObject | Enables data transfer and notification of changes in data. |
| IDropSource | One of the interfaces you must implement to provide drag-and-drop operations in your application. |
| IDropSourceNotify | Receives notifications when a user drags the mouse into or out of a potential drop target window. |
| IDropTarget | One of the interfaces you must implement to provide drag-and-drop operations in your application. |
| IEnumFORMATETC | Enumerates the FORMATETC structures that define the formats and media supported by a given data object. |
| IEnumMoniker | Enumerates the monikers in a table of monikers. |
| IEnumOleDocumentViews | Enumerates the views supported by a document object. |
| IEnumOleUndoUnits | Enumerates the undo units on the undo or redo stack. |
| IEnumOLEVERB | Enumerates the different verbs available for an object in order of ascending verb number. |
| IEnumSTATDATA | Enumerates the advisory connection information for a data object. |
| IObjectWithSite | Provides a simple way to support communication between an object and its site in the container. |
| IOleAdviseHolder | Manages advisory connections and compound document notifications in an object server. |
| IOleCache | Provides control of the presentation data that is cached inside of an object. |
| IOleCache2 | Enables object clients to selectively update each cache that was created with IOleCache::Cache. |
| IOleCacheControl | Provides proper maintenance of caches. |
| IOleClientSite | Provides an embedded object with information about the location and extent of its display site, its moniker, its user interface, and other resources provided by its container. |
| IOleCommandTarget | Enables objects and their containers to dispatch commands to each other. |
| IOleContainer | Enumerates objects in a compound document or lock a container in the running state. |
| IOleDocument | Enables a document object to communicate to containers its ability to create views of its data. |
| IOleDocumentSite | Enables a document that has been implemented as a document object to bypass the normal activation sequence for in-place-active objects and to directly instruct its client site to activate it as a document object. |
| IOleDocumentView | Enables a container to communicate with each view supported by a document object. |
| IOleInPlaceActiveObject | Provides a direct channel of communication between an in-place object and the associated application's outer-most frame window and the document window within the application that contains the embedded object. |
| IOleInPlaceFrame | Controls the container's top-level frame window. |
| IOleInPlaceObject | Manages the activation and deactivation of in-place objects, and determines how much of the in-place object should be visible. |
| IOleInPlaceObjectWindowless | Enables a windowless object to process window messages and participate in drag and drop operations. |
| IOleInPlaceSite | Manages interaction between the container and the object's in-place client site. |
| IOleInPlaceSiteEx | Provides an additional set of activation and deactivation notification methods that enable an object to avoid unnecessary flashing on the screen when the object is activated and deactivated. |
| IOleInPlaceSiteWindowless | Enables a windowless object to process window messages, participate in drag and drop operations, and to perform drawing operations. |
| IOleInPlaceUIWindow | Negotiates border space on the document or frame window. |
| IOleLink | Enables a linked object to provide its container with functions pertaining to linking. |
| IOleObject | Enables an embedded object to provide basic functionality to, and communicates with, its container. |
| IOleParentUndoUnit | Enables undo units to contain child undo units. |
| IOleUILinkContainer | OLE common dialog boxes use this interface to manage the properties of a container's links. |
| IOleUILinkInfo | An extension to the IOleUILinkContainer interface that enables containers to support the Link page of the Object Properties dialog box. |
| IOleUIObjInfo | Provides information used by the General and View pages of the Object Properties dialog box , which display information about the object's size, location, type, and name. It also allows the object to be converted via the Convert dialog box. |
| IOleUndoManager | Enables containers to implement multi-level undo and redo operations for actions that occur within contained controls. |
| IOleUndoUnit | The undo manager calls the methods in this interface to perform undo actions and to get strings that can be displayed in the user interface to describe the undo action. |
| IOleWindow | Enables an application to obtain the handle to the various windows that participate in in-place activation, and also to enter and exit context-sensitive help mode. |
| IViewObject | Enables an object to display itself directly without passing a data object to the caller. In addition, this interface can create and manage a connection with an advise sink so the caller can be notified of changes in the view object. |
| IViewObject2 | An extension to the IViewObject interface that returns the size of the drawing for a given view of an object. |
| IViewObjectEx | An extension to the IViewObject2 interface that provides support for flicker-free drawing, hit testing, and control sizing. |
Send comments about this topic to Microsoft
Build date: 10/27/2012