IObjectWithSiteImpl Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at IObjectWithSiteImpl Class.
This class provides methods allowing an object to communicate with its site.
Syntax
template <class T>
class ATL_NO_VTABLE IObjectWithSiteImpl :
public IObjectWithSite
Parameters
T
Your class, derived from IObjectWithSiteImpl
.
Members
Public Methods
Name | Description |
---|---|
IObjectWithSiteImpl::GetSite | Queries the site for an interface pointer. |
IObjectWithSiteImpl::SetChildSite | Provides the object with the site's IUnknown pointer. |
IObjectWithSiteImpl::SetSite | Provides the object with the site's IUnknown pointer. |
Public Data Members
Name | Description |
---|---|
IObjectWithSiteImpl::m_spUnkSite | Manages the site's IUnknown pointer. |
Remarks
The IObjectWithSite interface allows an object to communicate with its site. Class IObjectWithSiteImpl
provides a default implementation of this interface and implements IUnknown by sending information to the dump device in debug builds.
IObjectWithSiteImpl
specifies two methods. The client first calls SetSite
, passing the site's IUnknown pointer. This pointer is stored within the object, and can later be retrieved through a call to GetSite
.
Typically, you derive your class from IObjectWithSiteImpl
when you are creating an object that is not a control. For controls, derive your class from IOleObjectImpl, which also provides a site pointer. Do not derive your class from both IObjectWithSiteImpl
and IOleObjectImpl
.
Inheritance Hierarchy
IObjectWithSite
IObjectWithSiteImpl
Requirements
Header: atlcom.h
IObjectWithSiteImpl::GetSite
Queries the site for a pointer to the interface identified by riid
.
STDMETHOD(GetSite)(
REFIID riid,
void** ppvSite);
Remarks
If the site supports this interface, the pointer is returned via ppvSite
. Otherwise, ppvSite
is set to NULL.
See IObjectWithSite::GetSite in the Windows SDK.
IObjectWithSiteImpl::m_spUnkSite
Manages the site's IUnknown pointer.
CComPtr<IUnknown> m_spUnkSite;
Remarks
m_spUnkSite
initially receives this pointer through a call to SetSite.
IObjectWithSiteImpl::SetChildSite
Provides the object with the site's IUnknown pointer.
HRESULT SetChildSite(IUnknown* pUnkSite);
Parameters
pUnkSite
[in] Pointer to the IUnknown interface pointer of the site managing this object. If NULL, the object should call IUnknown::Release
on any existing site at which point the object no longer knows its site.
Return Value
Returns S_OK
.
IObjectWithSiteImpl::SetSite
Provides the object with the site's IUnknown pointer.
STDMETHOD(SetSite)(IUnknown* pUnkSite);
Remarks
See IObjectWithSite::SetSite in the Windows SDK.