OleCreateFromFile 函数 (ole2.h)
从命名文件的内容创建嵌入对象。
HRESULT OleCreateFromFile(
[in] REFCLSID rclsid,
[in] LPCOLESTR lpszFileName,
[in] REFIID riid,
[in] DWORD renderopt,
[in] LPFORMATETC lpFormatEtc,
[in] LPOLECLIENTSITE pClientSite,
[in] LPSTORAGE pStg,
[out] LPVOID *ppvObj
);
[in] rclsid
此参数是保留的,必须CLSID_NULL。
[in] lpszFileName
指向一个字符串的指针,该字符串指定应从中初始化对象的文件的完整路径。
[in] riid
调用方稍后用来与新对象通信的接口标识符的引用 (通常IID_IOleObject,在 OLE 标头中定义为 IOleObject) 的接口 ID。
[in] renderopt
枚举 OLERENDER 中的值,指示新创建的对象要具有的本地缓存绘图或数据检索功能。 所选 的 OLERENDER 值会影响 lpFormatEtc 参数的可能值。
[in] lpFormatEtc
根据哪个 OLERENDER 标志用作 renderopt 的值,指向 FORMATETC 枚举值之一的指针。 有关限制,另请参阅 OLERENDER 枚举。
[in] pClientSite
指向 IOleClientSite 实例的指针,IOleClientSite 是对象通过该接口从其容器请求服务的主接口。 此参数可以为 NULL。
[in] pStg
指向存储对象上的 IStorage 接口的指针。 此参数不能为 NULL。
[out] ppvObj
接收 riid 中请求的接口指针的指针变量的地址。 成功返回后,*ppvObj 在新创建的对象上包含请求的接口指针。
此函数在成功时返回S_OK。 其他可能的值包括以下内容。
返回代码 | 说明 |
---|---|
|
文件未绑定。 |
|
无法绑定到源。 |
|
媒体已满。 |
|
TYMED 无效。 |
|
无效的 LINDEX。 |
|
FORMATETC 结构无效。 |
OleCreateFromFile 函数根据命名文件的内容创建新的嵌入对象。 如果注册数据库中的 ProgID 包含 PackageOnFileDrop 密钥,则会创建一个包。 否则,函数调用 GetClassFile 函数以获取与 lpszFileName 参数关联的 CLSID,然后创建与该 CLSID 关联的 OLE 2 嵌入对象。 OleCreateFromFile 的 rclsid 参数将始终被忽略,应设置为 CLSID_NULL。
对于其他 OleCreateXxx 函数,新创建的对象不会显示给用户进行编辑,这需要 DoVerb 操作。 它用于实现插入文件操作。
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | ole2.h (包括 Ole2.h) |
Library | Ole32.lib |
DLL | Ole32.dll |