IOleObject::GetClientSite (Compact 2013)

3/26/2014

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 Determine 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

See Also

Tasks

Determine Supported COM APIs

Reference

IOleObject
IOleClientSite::GetContainer
IUnknown::Release