# IOleDocumentSite

The IOleDocumentSite interface 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. A client site with this ability is called a document site.

For each document object to be hosted, a container must provide a corresponding document site, which is an OLE Documents client site that, in addition to implementing IOleClientSite and IAdviseSink, implements IOleDocumentSite. Each document site implements a separate document view site for each view of a document to be activated. The document view site implements IOleInPlaceSite and, optionally, IContinueCallback.

##### When to Implement

Implement IOleDocumentSite on each and every client site that is to host a document object. In addition to this interface, a document site must also implement IOleClientSite, IOleInPlaceSite, and IAdviseSink. IContinueCallback is optional.

##### When to Use

A document object calls IOleDocumentSite::ActivateMe to ask its document site to activate it, typically in response to the container’s call to IOleObject::DoVerb.

Methods in VTable Order

IUnknown Methods | Description
QueryInterface | Returns pointers to supported interfaces.
AddRef | Increments reference count.
Release | Decrements reference count.

IOleDocumentSite Methods | Description
ActivateMe | Activates an OLE Document Object