HrIStorageFromStream

适用于:Outlook 2013 | Outlook 2016

IStorage 接口分层到 IStream 对象上。

属性
标头文件:
Mapiutil.h
实现者:
MAPI
调用者:
客户端应用程序和服务提供商
HRESULT HrIStorageFromStream(
  LPUNKNOWN lpUnkIn,
  PIID lpInterface,
  ULONG ulFlags,
  LPSTORAGE FAR * lppStorageOut
);

参数

lpUnkIn

[in]指向实现 IStreamIUnknown 对象的指针。

lpInterface

[in]指向流对象的接口标识符 (IID) 的指针。 以下任何值都可以在 lpInterface 参数中传递:NULL、IID_IStream或IID_ILockBytes。 在 lpInterface 中传递 NULL 与传递IID_IStream相同。

ulFlags

[in]控制如何相对于流创建存储对象的标志的位掩码。 默认设置为 STGSTRM_RESET,这为存储对象提供只读访问权限,并在流的零位置启动它。 以下标志可以任意组合设置,但如前所述:

STGSTRM_CREATE

为流对象创建新的存储对象。 如果设置了STGSTRM_RESET标志,则无法设置此标志。

STGSTRM_CURRENT

在流的当前位置启动存储。 如果设置了STGSTRM_RESET标志,则无法设置此标志。

STGSTRM_MODIFY

允许调用服务提供商写入返回的存储。 如果设置了STGSTRM_RESET标志,则无法设置此标志。

STGSTRM_RESET

从位置 0 开始存储。 如果设置了任何其他标志,则无法设置此标志。

lppStorageOut

[out]指向返回的 IStorage 对象的指针的指针。

返回值

S_OK

调用成功,并返回了预期的值。

备注

消息存储提供程序支持使用附件的 IStorage 接口的 HrIStorageFromStream 函数。 存储提供程序必须实现 IStream 接口。 HrIStorageFromStreamIStream 对象提供 IStorage 接口。 可以在 lpUnkIn 中传递 ILockBytesIStream 接口。