Метод IStream::Clone (objidl.h)

Метод Clone создает новый объект потока с собственным указателем поиска, который ссылается на те же байты, что и исходный поток.

Синтаксис

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

Параметры

[out] ppstm

При успешном выполнении наведите указатель на расположение указателя IStream на новый объект потока. При возникновении ошибки этот параметр имеет значение NULL.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK Поток успешно клонирован.
E_PENDING Только асинхронное хранилище. Часть или все данные потока в настоящее время недоступны.
STG_E_INSUFFICIENTMEMORY Поток не был клонирован из-за нехватки памяти.
STG_E_INVALIDPOINTER Недопустимый указатель ppStm.
STG_E_REVERTED Объект был признан недействительным операцией отменить изменения над ним в дереве транзакций.

Комментарии

Метод Clone создает новый объект потока для доступа к тем же байтам, но с помощью отдельного указателя поиска. Новый объект потока видит те же данные, что и объект source-stream. Изменения, записанные в один объект, сразу же видны в другом. Блокировка диапазона совместно используется объектами потока.

Начальное значение указателя поиска в клонированных экземплярах потока совпадает с текущим параметром указателя поиска в исходном потоке во время операции клонирования.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header objidl.h
Библиотека Uuid.lib
DLL Ole32.dll

См. также раздел

IStream — реализация составного файла

IStream::CopyTo