IOleObject

The IOleObject 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: DoVerb, SetHostNames, and Close. Six of the methods provide optional functionality, which, if not desired, can be implemented to return E_NOTIMPL: SetExtent, InitFromData, GetClipboardData, SetColorScheme, SetMoniker, and GetMoniker. The latter two methods are useful mainly for enabling links to embedded objects.

When to Use

ms694313.note(en-us,VS.85).gif
This interface is not supported for use across machine boundaries.

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 in VTable Order

IUnknown Methods Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IOleObject Methods Description

SetClientSite

Informs object of its client site in container.

GetClientSite

Retrieves object's client site.

SetHostNames

Communicates names of container application and container document.

Close

Moves object from running to loaded state.

SetMoniker

Informs object of its moniker.

GetMoniker

Retrieves object's moniker.

InitFromData

Initializes embedded object from selected data.

GetClipboardData

Retrieves a data transfer object from the Clipboard.

DoVerb

Invokes object to perform one of its enumerated actions ("verbs").

EnumVerbs

Enumerates actions ("verbs") for an object.

Update

Updates an object.

IsUpToDate

Checks if object is up to date.

GetUserClassID

Returns an object's class identifier.

GetUserType

Retrieves object's user-type name.

SetExtent

Sets extent of object's display area.

GetExtent

Retrieves extent of object's display area.

Advise

Establishes advisory connection with object.

Unadvise

Destroys advisory connection with object.

EnumAdvise

Enumerates object's advisory connections.

GetMiscStatus

Retrieves status of object.

SetColorScheme

Recommends color scheme to object application.

Requirements

For an explanation of the requirement values, see Requirements (COM).

Windows NT/2000/XP: Requires Windows NT 3.1 or later.

Windows 95/98: Requires Windows 95 or later.

Header: Declared in oleidl.h.

Send comments about this topic to Microsoft.