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 派生类,后者还提供站点指针。 不要从 IObjectWithSiteImplIOleObjectImpl 派生你的类。

继承层次结构

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

另请参阅

类概述