IOleObject:IUnknown

This interface is the principal means by which an embedded object provides basic functionality to and communicates with its container.

When to Implement

An object application must implement this interface, along with at least IDataObject and IPersistStorage, for each type of embedded object that it supports. Although this interface contains 21 methods, only three are nontrivial to implement and must be fully implemented: IOleObject::DoVerb, IOleObject::SetHostNames, and IOleObject::Close. Six of the methods provide optional functionality, which, if not desired, can be implemented to return E_NOTIMPL: IOLEObject::SetExtent, IOLEObject::InitFromData, IOLEObject::GetClipboardData, IOLEObject::SetColorScheme, IOLEObject::SetMoniker, and IOLEObject::GetMoniker. The latter two methods are useful mainly for enabling links to embedded objects.

When to Use

Call the methods of this interface to enable a container to communicate with an embedded object. A container must call DoVerb to activate an embedded object, SetHostNames to communicate the names of the container application and container document, and Close to move an object from a running to a loaded state. Calls to all other methods are optional.

Methods

The following table shows the methods for this interface in alphabetical order. Like all COM interfaces, this interface inherits the methods for the IUnknown interface.

Method Description
IOleObject::Advise This method establishes an advisory connection between an OLE object and the calling object's advise sink, through which the calling object receives notification when the compound document object is renamed, save, or closed.
IOleObject::Close This method changes an embedded object from the running to the loaded state. It also disconnects a linked object from its link source.
IOleObject::DoVerb This method requests an object to perform an action in response to an end-user's action. The possible actions are enumerated for the object in EnumVerbs.
IOleObject::EnumAdvise This method retrieves a pointer to an enumerator that can be used to enumerate the advisory connections registered for an object, so a container knows what to release prior to closing down.
IOleObject::EnumVerbs This method exposes a pull-down menu listing the verbs available for an object in ascending order by verb number.
IOleObject::GetClientSite This method obtains a pointer to an embedded object's client site.
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.
IOleObject::GetExtent This method retrieves a running object's current display size.
IOleObject::GetMiscStatus This method returns a value that indicates the status of an object at creation and loading.
IOleObject::GetMoniker This method retrieves an embedded object's moniker, which the caller can use to link to the object.
IOleObject::GetUserClassID This method returns the object class identifier (CLSID) corresponding to the string identifying the object to an end-user.
IOleObject::GetUserType This method retrieves the user type name of an object for display in user interface elements such as menus, list boxes, and dialog boxes.
IOleObject::InitFromData This method initializes a newly created object with data from a specified data object, which can reside either in the same container or on the clipboard.
IOleObject::IsUpToDate This method checks recursively whether or not an object is current.
IOleObject::SetClientSite This method informs an embedded object of its display location, called a "client site", within its container.
IOleObject::SetColorScheme This method specifies the color palette that the object application should use when it edits the specified object.
IOleObject::SetExtent This method informs an object of how much display space its container has assigned it.
IOleObject::SetHostNames This method provides an object with the name of its container application and the compound document in which it is embedded.
IOleObject::SetMoniker This method notifies an object of its container's moniker, the object's own moniker relative to the container, or the object's full moniker.
IOleObject::Unadvise This method deletes a previously established advisory connection.
IOleObject::Update This method updates an object handler's or link object's data to view caches.

Remarks

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

Requirements

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

See Also

OLE Interfaces | IDataObject | IPersistStorageIUnknown

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.