The IObjectWithSite interface provides simple objects with a light-weight "siting" mechanism. This allows simple objects to communicate directly with their container site objects, allowing them to manage the site object by themselves.


If you use IObjectWithSite, do not use the Windows Embedded CE IOleObject interface.

A container can pass the IUnknown pointer of its site to an object through IObjectWithSite::SetSite. Callers can also retrieve the latest site passed to IObjectWithSite::SetSite through IObjectWithSite::GetSite. This usage provides a hooking mechanism, allowing third parties to intercept calls from an object to its container site object.

When to Implement

Implement this interface when you want to give an object the ability to manage its container site object.

When to Use

A container calls the IObjectWithSite::SetSite method to provide an object with an interface pointer to its site.

Methods in Vtable Order

  • IUnknown methods

    IObjectWithSite methods Description


    Passes the container site object's IUnknown pointer to the object being managed.


    Retrieves the IUnknown pointer from the last site set with IObjectWithSite::SetSite.


Header ocidl.h
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2000 and later, Smartphone 2002 and later

See Also


Shell Interfaces