IOleObject::SetClientSite 方法 (oleidl.h)

通知嵌入对象在其容器中的显示位置(称为“客户端站点”)。

语法

HRESULT SetClientSite(
  [in] IOleClientSite *pClientSite
);

参数

[in] pClientSite

指向容器应用程序的客户端站点上的 IOleClientSite 接口的指针。

返回值

此方法在成功时返回S_OK。 其他可能的返回值包括以下内容。

返回代码 说明
E_UNEXPECTED
发生了意外错误。

注解

在复合文档中,每个嵌入对象都有其自己的客户端站点 - 显示它的位置,并通过该位置接收有关其存储、用户界面和其他资源的信息。 IOleObject::SetClientSite 是唯一允许嵌入对象获取指向其客户端站点的指针的方法。

给调用方的说明

容器可以在创建对象时或随后在初始化对象时通知对象的客户端站点。

创建或加载对象时,容器可能会将客户端站点指针 (以及其他参数) 传递到以下帮助程序函数之一: OleCreateOleCreateFromFileOleCreateFromDataOleLoad。 这些帮助程序函数加载新对象的对象处理程序,并代表容器调用 IOleObject::SetClientSite ,然后再返回指向新对象的指针。

传递客户端站点指针会通知对象处理程序客户端站点已准备好处理请求。 如果客户端站点不太可能在加载处理程序后立即准备就绪,则可能需要容器将 NULL 客户端站点指针传递给帮助程序函数。 NULL 指针指示没有可用的客户端站点,因此会延迟通知客户端站点的对象处理程序,直到对象初始化为止。 作为响应,帮助程序函数返回指向 对象的指针,但在收到该指针时,容器必须在初始化新对象时调用 IOleObject::SetClientSite

实施者说明

实现仅包括递增指向客户端站点的指针的引用计数和存储。

要求

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

另请参阅

IOleClientSite

IOleObject

IOleObject::GetClientSite

OleCreate

OleCreateFromData

OleCreateFromFile

OleLoad