HrIStorageFromStream
适用于:Outlook 2013 | Outlook 2016
将 IStorage 接口分层到 IStream 对象上。
属性 | 值 |
---|---|
标头文件: |
Mapiutil.h |
实现者: |
MAPI |
调用者: |
客户端应用程序和服务提供商 |
HRESULT HrIStorageFromStream(
LPUNKNOWN lpUnkIn,
PIID lpInterface,
ULONG ulFlags,
LPSTORAGE FAR * lppStorageOut
);
参数
lpUnkIn
[in]指向实现 IStream 的 IUnknown 对象的指针。
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 接口。 HrIStorageFromStream 为 IStream 对象提供 IStorage 接口。 可以在 lpUnkIn 中传递 ILockBytes 或 IStream 接口。