IOleDocumentView::SetInPlaceSite 方法 (docobj.h)

将容器的文档视图网站与文档的视图对象相关联。

语法

HRESULT SetInPlaceSite(
  [in] IOleInPlaceSite *pIPSite
);

参数

[in] pIPSite

指向文档视图网站的 IOleInPlaceSite 接口的指针。 此参数可以为 NULL,在这种情况下,文档视图对象将丢失与容器的所有关联。

返回值

如果文档视图网站已成功关联 (或取消关联(如果 pIPSite 与文档视图对象) 为 NULL ,此方法将返回S_OK。 其他可能的返回值包括以下内容。

返回代码 说明
E_FAIL
此操作失败。

注解

作为激活文档对象的一部分,容器必须向对象传递指向容器实现 IOleInPlaceSite 的指针。 此指针指定要与调用此方法的视图关联的文档视图网站。

容器通常会传递此指针以响应文档的激活请求。 文档通过调用 IOleDocumentSite::ActivateMe 并将容器作为指向要激活的视图的指针来发出此类请求。 反过来,容器使用此指针调用 IOleDocumentView::SetInPlaceSite

给调用方的说明

如果容器请求创建和激活文档对象的新实例,而不仅仅是激活已加载的文档对象的实例,则视图网站将传入 IOleDocument::CreateViewpIPSite 参数。 因此,不需要显式调用 IOleDocumentView::SetInPlaceSite

实施者说明

如果在已与视图网站关联的视图上调用此方法,则视图必须执行一些内务处理,以准备在新站点中激活自身。 首先,视图必须在当前站点中停用自身,并释放其指向该网站的指针。 接下来,如果新的 IOleInPlaceSite 指针不是 NULL,则视图应保存指针并为其调用 IUnknown::AddRef 。 然后,视图应等待容器告知它何时在新视图站点中激活自身。

文档视图必须完全实现此方法;E_NOTIMPL不是可接受的返回值。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 docobj.h

另请参阅

IOleDocumentView

IOleDocumentView::SetInPlaceSite