IOleClientSite::GetContainer method (oleidl.h)

Retrieves a pointer to the object's container.


HRESULT GetContainer(
  [out] IOleContainer **ppContainer


[out] ppContainer

Address of IOleContainer pointer variable that receives the interface pointer to the container object. If an error occurs, the implementation must set ppContainer to NULL.

Return value

This method returns S_OK on success. Other possible return values include the following.

Return code Description
The client site is in an OLE 1 container.
The container does not implement the IOleContainer interface.


If a container supports links to its embedded objects, implementing GetContainer enables link clients to enumerate the container's objects and recursively traverse a containment hierarchy. This method is optional but recommended for all containers that expect to support links to their embedded objects.

Link clients can traverse a hierarchy of compound-document objects by recursively calling GetContainer to get a pointer to the link source's container; followed by QueryInterface to get a pointer to the container's IOleObject interface and, finally, IOleObject::GetClientSite to get the container's client site in its container.

Simple containers that do not support links to their embedded objects probably do not need to implement this method. Instead, they can return E_NOINTERFACE and set ppContainer to NULL.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header oleidl.h

See also