IStream::Clone 方法 (objidl.h)

Clone 方法使用自己的 seek 指针创建新的流对象,该对象引用与原始流相同的字节。

语法

HRESULT Clone(
  [out] IStream **ppstm
);

参数

[out] ppstm

成功后,指针指向指向新流对象的 IStream 指针的位置。 如果发生错误,此参数为 NULL

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK 已成功克隆流。
E_PENDING 仅异步存储:部分或全部流数据当前不可用。
STG_E_INSUFFICIENTMEMORY 由于内存不足,流未克隆。
STG_E_INVALIDPOINTER ppStm 指针无效。
STG_E_REVERTED 对象在事务树中的上方还原操作已失效。

注解

Clone 方法创建一个新的流对象,用于访问相同的字节,但使用单独的查找指针。 新的流对象将看到与源流对象相同的数据。 写入一个对象的更改会立即显示在另一个对象中。 范围锁定在流对象之间共享。

克隆流实例中搜寻指针的初始设置与克隆操作时原始流中搜寻指针的当前设置相同。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 objidl.h
Library Uuid.lib
DLL Ole32.dll

另请参阅

IStream - 复合文件实现

IStream::CopyTo