IObjectWithSiteImpl 类
此类提供了使对象能够与其站点进行通信的方法。
语法
template <class T>
class ATL_NO_VTABLE IObjectWithSiteImpl :
public IObjectWithSite
参数
T
你的类,派生自 IObjectWithSiteImpl
。
成员
公共方法
名称 | 描述 |
---|---|
IObjectWithSiteImpl::GetSite | 向站点查询接口指针。 |
IObjectWithSiteImpl::SetChildSite | 为对象提供站点的 IUnknown 指针。 |
IObjectWithSiteImpl::SetSite | 为对象提供站点的 IUnknown 指针。 |
公共数据成员
“属性” | 描述 |
---|---|
IObjectWithSiteImpl::m_spUnkSite | 管理站点的 IUnknown 指针。 |
注解
IObjectWithSite 接口允许对象与其站点进行通信。 类 IObjectWithSiteImpl
提供此接口的默认实现,并通过在调试版本中将信息发送到转储设备来实现 IUnknown
。
IObjectWithSiteImpl
指定了两种方法。 客户端首先调用 SetSite
,目的是传递站点的 IUnknown
指针。 此指针存储在对象中,稍后可以通过调用来 GetSite
检索该指针。
通常,创建一个不是控件的对象时,你将从 IObjectWithSiteImpl
派生你的类。 对于控件,请从 IOleObjectImpl 派生类,后者还提供站点指针。 不要从 IObjectWithSiteImpl
和 IOleObjectImpl
派生你的类。
继承层次结构
IObjectWithSite
IObjectWithSiteImpl
要求
标头:atlcom.h
IObjectWithSiteImpl::GetSite
向站点查询指向 riid
标识的接口的指针。
STDMETHOD(GetSite)(
REFIID riid,
void** ppvSite);
注解
如果站点支持此接口,则指针通过 ppvSite
返回。 否则,ppvSite
设置为 NULL。
请参阅 Windows SDK 中的 IObjectWithSite::GetSite。
IObjectWithSiteImpl::m_spUnkSite
管理站点的 IUnknown
指针。
CComPtr<IUnknown> m_spUnkSite;
备注
m_spUnkSite
最初通过调用 SetSite 接收此指针。
IObjectWithSiteImpl::SetChildSite
为对象提供站点的 IUnknown
指针。
HRESULT SetChildSite(IUnknown* pUnkSite);
参数
pUnkSite
[in] 指针,指向管理此对象的站点的 IUnknown
接口指针。 如果为 NULL,则对象应在任何现有站点上调用 IUnknown::Release
,此时对象不再知道其站点。
返回值
返回 S_OK。
IObjectWithSiteImpl::SetSite
为对象提供站点的 IUnknown
指针。
STDMETHOD(SetSite)(IUnknown* pUnkSite);
备注
请参阅 Windows SDK 中的 IObjectWithSite::SetSite。