OleCreate 函数 (ole.h)

创建由 CLSID 标识的嵌入对象。 通常使用它来实现允许最终用户插入新对象的菜单项。

语法

OLESTATUS OleCreate(
  LPCSTR        unnamedParam1,
  LPOLECLIENT   unnamedParam2,
  LPCSTR        unnamedParam3,
  LHCLIENTDOC   unnamedParam4,
  LPCSTR        unnamedParam5,
  LPOLEOBJECT   *unnamedParam6,
  OLEOPT_RENDER unnamedParam7,
  OLECLIPFORMAT unnamedParam8
);

参数

unnamedParam1

TBD

unnamedParam2

TBD

unnamedParam3

TBD

unnamedParam4

TBD

unnamedParam5

TBD

unnamedParam6

TBD

unnamedParam7

TBD

unnamedParam8

TBD

返回值

此函数在成功时返回S_OK,并支持标准返回值E_OUTOFMEMORY。

返回代码 说明
E_OUTOFMEMORY
操作的内存不足。

注解

OleCreate 函数创建一个新的嵌入对象,通常调用 它来实现菜单项“插入新对象”。 当 OleCreate 返回时,它创建的对象为空白, (不包含任何数据) ,除非 renderopt 已OLERENDER_DRAW或OLERENDER_FORMAT,并且已加载。 然后,容器通常会调用 OleRun 函数或 IOleObject::D oVerb 以显示对象以供初始编辑。

rclsid 参数指定所请求对象的 CLSID。 已注册对象的 CLSD 存储在系统注册表中。 当应用程序用户选择“插入对象”时,选择框允许用户从注册表中的对象中选择所需的对象类型。 使用 OleCreate 实现“插入对象”菜单项时,与所选项关联的 CLSID 将分配给 OleCreate 的 rclsid 参数。

riid 参数指定客户端将用于与新对象通信的接口。 成功返回后, ppvObject 参数将保留指向所请求接口的指针。

创建的 对象的缓存包含允许在打开容器时呈现包含对象的信息。 有关应缓存的内容的信息在 renderoptpFormatetc 值中传递。 当 OleCreate 返回时,不一定填充所创建对象的缓存。 而是在对象首次进入运行状态时填充缓存。 调用方可以在返回 OleCreate 之后和对象运行之前通过调用 IOleCache::Cache 添加其他缓存控件。 如果 renderopt OLERENDER_DRAW或OLERENDER_FORMAT, 则 OleCreate 要求对象支持 IOleCache 接口。 对于 renderopt 的任何其他值,没有此类要求。

如果 pClientSite 为非 NULL则 OleCreate 通过 pClientSite 指针调用 IOleObject::SetClientSiteIOleClientSite 是对象从其容器请求服务的主要接口。 如果 pClientSiteNULL,则必须在尝试任何操作之前对 IOleObject::SetClientSite 进行特定的调用。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ole.h (包括 Ole2.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

FORMATETC

IOleClientSite

IOleObject

OLERENDER