IOleItemContainer::GetObjectStorage 方法 (oleidl.h)

检索指向指定对象的存储的指针。

语法

HRESULT GetObjectStorage(
  [in]  LPOLESTR pszItem,
  [in]  IBindCtx *pbc,
  [in]  REFIID   riid,
  [out] void     **ppvStorage
);

参数

[in] pszItem

请求存储的对象的复合文档名称。

[in] pbc

指向要在此绑定操作中使用的绑定上下文上的 IBindCtx 接口的指针。 绑定上下文缓存绑定过程中绑定的对象,包含应用于使用绑定上下文的所有操作的参数,并提供绑定实现应检索有关其环境的信息的方法。

[in] riid

对要用于与对象通信的接口标识符的引用,通常为 IStorage

[out] ppvStorage

接收 riid 中请求的接口指针的指针变量的地址。 成功返回后,*ppvStorage 包含请求的接口指针,指向 pszItem 命名的对象的存储。 成功后,实现必须在 *ppvStorage 上调用 AddRef;调用 Release 由调用方负责。 如果发生错误,*ppvStorage 设置为 NULL

返回值

此方法可以返回标准返回值E_OUTOFMEMORY,以及以下值。

返回代码 说明
S_OK
方法完全成功。
MK_E_OBJECT
参数 pszItem 不标识此容器中的对象。
MK_E_NOSTORAGE
对象没有其自己的独立存储。
E_NOINTERFACE
请求的接口不可用。

注解

IMoniker::BindToStorage 的项名字对象实现调用此方法。

实施者说明

如果 pszItem 指定伪对象,则 IOleItemContainer::GetObjectStorage 的实现应返回MK_E_NOSTORAGE,因为伪对象没有自己的独立存储。 如果 pszItem 指定嵌入对象或文档的一部分具有其自己的存储,则实现应返回相应存储对象上的指定接口指针。

要求

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

另请参阅

IOleItemContainer