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


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

Метод SetSize изменяет размер объекта потока.

Синтаксис

HRESULT SetSize(
  [in] ULARGE_INTEGER libNewSize
);

Параметры

[in] libNewSize

Указывает новый размер потока в байтах.

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

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

Код возврата Описание
S_OK Размер объекта потока был успешно изменен.
E_PENDING Только асинхронное хранилище. Часть или все данные потока в настоящее время недоступны.
STG_E_MEDIUMFULL Размер потока не изменяется, так как на устройстве хранения не остается места.
STG_E_INVALIDFUNCTION Значение параметра libNewSize не поддерживается реализацией . Не все потоки поддерживают более 232 байт. Если поток не поддерживает более 232 байт, тип данных libNewSize с высоким значением DWORD должен быть равен нулю. Если значение не равно нулю, реализация может возвращать STG_E_INVALIDFUNCTION. Как правило, реализации интерфейса IStream на основе COM не поддерживают потоки размером более 232 байт.
STG_E_REVERTED Объект был признан недействительным операцией отменить изменения над ним в дереве транзакций.

Комментарии

IStream::SetSize изменяет размер объекта потока. Вызовите этот метод для предварительного выделения пространства для потока. Если параметр libNewSize больше текущего размера потока, поток расширяется до указанного размера путем заполнения промежуточного пространства байтами неопределенного значения. Эта операция аналогична методу ISequentialStream::Write , если указатель поиска находится за текущим концом потока.

Если параметр libNewSize меньше текущего потока, поток усекается до указанного размера.

Изменение размера потока не влияет на указатель поиска.

Вызов IStream::SetSize может быть эффективным способом получения большого фрагмента непрерывного пространства.

Требования

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

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

ISequentialStream::Write

IStream

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