IOleClientSite::GetContainer
Returns a
pointer to the container s IOleContainer interface.
HRESULT GetContainer(
LPOLECONTAINER FAR* ppContainer |
//Indirect pointer to the interface on the object |
); |
|
Parameter
ppContainer
[out]
Indirect pointer to where the IOleContainer interface on the object
should be returned. If an error is returned, this parameter must be set to
NULL.
Return Values
S_OK
The pointer
to the container s IOleContainer interface was successfully returned.
OLE_E_NOT_SUPPORTED
Client site
is in OLE 1 container.
E_NOINTERFACE
The container
does not implement the IOleContainer interface.
Remarks
If a
container supports links to its embedded objects, implementing IOleClientSite::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 IOleClientSite::GetContainer
to get a pointer to the link source s container; followed by IOleContainer::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.