Поделиться через


Метод IInitializeWithStream::Initialize (propsys.h)

Инициализирует обработчик потоком.

Синтаксис

HRESULT Initialize(
  [in] IStream *pstream,
  [in] DWORD   grfMode
);

Параметры

[in] pstream

Тип: IStream*

Указатель на интерфейс IStream , представляющий источник потока.

[in] grfMode

Тип: DWORD

Одно из следующих значений STGM , указывающее режим доступа для pstream.

STGM_READ

Поток, указанный pstream , доступен только для чтения.

STGM_READWRITE

Поток, указанный pstream , доступен для чтения и записи.

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Этот метод является предпочтительным для инициализации из-за возможности использовать потоки, недоступные по пути Win32, например содержимое сжатого файла с расширением имени файла .zip.

Поток, на который указывает pstream , должен оставаться открытым в течение всего времени существования обработчика или до вызова IPropertyStore::Commit .

При первом открытии исходный поток указывает на начало потока. Обработчик может искать и считывать данные из потока в любое время. Обработчик может быть реализован для чтения всех свойств из потока во время инициализации или может ждать, пока вызывающий процесс попытается перечислить или прочитать свойства, прежде чем получать их из потока.

Экземпляр обработчика следует инициализировать только один раз в течение своего времени существования. Попытки вызывающей стороны повторно инициализировать обработчик должны привести к ошибке HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED).

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header propsys.h