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。
返回代码 | 说明 |
---|---|
|
操作的内存不足。 |
注解
OleCreate 函数创建一个新的嵌入对象,通常调用 它来实现菜单项“插入新对象”。 当 OleCreate 返回时,它创建的对象为空白, (不包含任何数据) ,除非 renderopt 已OLERENDER_DRAW或OLERENDER_FORMAT,并且已加载。 然后,容器通常会调用 OleRun 函数或 IOleObject::D oVerb 以显示对象以供初始编辑。
rclsid 参数指定所请求对象的 CLSID。 已注册对象的 CLSD 存储在系统注册表中。 当应用程序用户选择“插入对象”时,选择框允许用户从注册表中的对象中选择所需的对象类型。 使用 OleCreate 实现“插入对象”菜单项时,与所选项关联的 CLSID 将分配给 OleCreate 的 rclsid 参数。
riid 参数指定客户端将用于与新对象通信的接口。 成功返回后, ppvObject 参数将保留指向所请求接口的指针。
创建的 对象的缓存包含允许在打开容器时呈现包含对象的信息。 有关应缓存的内容的信息在 renderopt 和 pFormatetc 值中传递。 当 OleCreate 返回时,不一定填充所创建对象的缓存。 而是在对象首次进入运行状态时填充缓存。 调用方可以在返回 OleCreate 之后和对象运行之前通过调用 IOleCache::Cache 添加其他缓存控件。 如果 renderopt OLERENDER_DRAW或OLERENDER_FORMAT, 则 OleCreate 要求对象支持 IOleCache 接口。 对于 renderopt 的任何其他值,没有此类要求。
如果 pClientSite 为非 NULL,则 OleCreate 通过 pClientSite 指针调用 IOleObject::SetClientSite。 IOleClientSite 是对象从其容器请求服务的主要接口。 如果 pClientSite 为 NULL,则必须在尝试任何操作之前对 IOleObject::SetClientSite 进行特定的调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | ole.h (包括 Ole2.h) |
Library | Ole32.lib |
DLL | Ole32.dll |