The IObjectWithSite interface provides a simple way to support communication between an object and its site in the container.
Often an object needs to communicate directly with a container site object and, in effect, manage the site object itself. Outside of IOleObject::SetClientSite, there is no generic means through which an object becomes aware of its site. IObjectWithSite provides simple objects with a simple siting mechanism (lighter than IOleObject) This interface should only be used when IOleObject is not already in use.
Through IObjectWithSite, a container can pass the IUnknown pointer of its site to the object through IObjectWithSite::SetSite. Callers can also retrieve the latest site passed to IObjectWithSite::SetSite through IObjectWithSite::GetSite. This latter method is included as a hooking mechanism, allowing a third party to intercept calls from the object to the site.
An object implements this interface so it's container can supply it with an interface pointer for its site object. Then, the object can communicate directly with its site.
A container calls the SetSite method on this interface to provide an object with an interface pointer for its site.
IUnknown Methods | Description |
---|---|
QueryInterface | Returns pointers to supported interfaces. |
AddRef | Increments reference count. |
Release | Decrements reference count. |
IObjectWithSite Methods | Description |
---|---|
SetSite | Provides the site's IUnknown pointer to the object being managed. |
GetSite | Retrieves the last site set with IObjectWithSite::SetSite. |
Windows NT: Use version 4.0 or later. New for OC96.
Windows: Use Windows 95 or later. New for OC96.
Windows CE: Unsupported.
Header: Declared in ocidl.h.