# IObjectWithSite::GetSite

Retrieves the last site set with IObjectWithSite::SetSite. If there’s no known site, the object return a failure code.

HRESULT GetSite(

REFIID riid, | //IID of interface pointer being requested
void** ppvSite | //Indirect pointer to caller’s void
); |

Parameters

riid
  [in] The IID of the interface pointer that should be returned in ppvSite.
ppvSite
  [out] Indirect pointer to the caller’s void * variable in which the object stores the interface pointer of the site last seen in IObjectWithSite::SetSite. The specific interface returned depends on the riid argument&emdash;in essence, the two arguments act identically to those in IUnknown::QueryInterface. If the appropriate interface pointer is available, the object must call IUnknown::AddRef on that pointer before returning successfully. If no site is available, or the requested interface is not supported, the object sets this argument to NULL and returns a failure code.

Return Values

S_OK
  The site was returned successfully and the caller is responsible for calling IUnknown::Release when the site is no longer needed.
E_FAIL
  There is no site in which case *ppvSite contains NULL on return.
E_NOINTERFACE
  There is a site but it does not support the interface requested by riid.

Remarks

E_NOTIMPL is not allowed&emdash;any object implementing this interface must be able to return the last site seen in IObjectWithSite::SetSite.