IOleObject::GetClientSite
Obtains a
pointer to an embedded object s client site.
HRESULT GetClientSite(
IOleClientSite **ppClientSite |
//Indirect pointer to storage of object s client
site |
); |
|
Parameter
ppClientSite
[out]
Indirect pointer to an IOleClientSite interface on the object s client
site. If an object does not yet know its client site, or an error has occurred,
this parameter must be set to NULL. Each time an object receives a call to GetClientSite,
it must increase the reference count on the pointer the method returns. It is
the caller s responsibility to call Release when it is done with the
pointer.
Return Value
S_OK
Client site
pointer returned successfully.
Remarks
Link clients
most commonly call the IOleObject::GetClientSite method in conjunction
with the IOleClientSite::GetContainer method to traverse a hierarchy of
nested objects. A link client calls IOleObject::GetClientSite to get a
pointer to the link source s client site. The client then calls IOleClientSite::GetContainer
to get a pointer to the link source s container. Finally, the client calls IOleContainer::QueryInterface
to get IOleObject and IOleObject::GetClientSite to get the
container s client site within its container. By repeating this sequence of
calls, the caller can eventually retrieve a pointer to the master container in
which all the other objects are nested.
Notes to Callers
The returned
client-site pointer will be NULL if an embedded object has not yet been
informed of its client site. This will be the case with a newly loaded or
created object when a container has passed a NULL client-site pointer to one of
the object-creation helper functions but has not yet called IOleObject::SetClientSite
as part of initializing the object.
See Also
IOleObject::SetClientSite