Метод 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 |