IOleObject::GetClientSite
A version of this page is also available for
4/8/2010
This method obtains a pointer to an embedded object's client site.
Syntax
HRESULT GetClientSite(
IOleClientSite** ppClientSite
);
Parameters
ppClientSite
[out] Address of IOleClientSite* pointer variable that receives the interface pointer to the object's client site.If an object does not yet know its client site, or if an error has occurred, *ppClientSite must be set to NULL.
Each time an object receives a call to GetClientSite, it must increase the reference count on *ppClientSite.
The caller is responsible to call IUnknown::Release when it is done with *ppClientSite.
Return Value
S_OK indicates that the client site pointer returned successfully.
Remarks
Link clients most commonly call the GetClientSite method in conjunction with the IOleClientSite::GetContainer method to traverse a hierarchy of nested objects.
A link client calls GetClientSite to get a pointer to the link source's client site.
The client then calls GetContainer to get a pointer to the link source's container.
Finally, the client calls IOleContainer::QueryInterface to get IOleObject and 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 other objects are nested.
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Notes to Callers
The returned client-site pointer is NULL if an embedded object has not yet been informed of its client site.
This is the case with a newly loaded or created object when a container passes a NULL client-site pointer to an object-creation helper functions but has not yet called SetClientSite as part of initializing the object.
Requirements
Header | Oleidl.h, oleidl.idl |
Library | oleaut32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
IOleObject
IOleClientSite::GetContainer
IOleObject
IUnknown::Release