Provides the site's IUnknown pointer to the object.
HRESULT retVal = object.SetSite(pUnkSite);
An interface pointer to the site managing this object. If NULL, the object should call IUnknown::Release to release the existing site.
The object should hold the IUnknown pointer, calling AddRef in doing so. If the object already has a site, it should first call pUnkSite->AddRef to secure the new site, call IUnknown::Release on the existing site, and then save pUnkSite.
E_NOTIMPL is disallowed. If the IObjectWithSite::SetSite method is not implemented, the IObjectWithSite interface is unnecessary.