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