Функция OleSave (ole2.h)
Сохраняет объект, открытый в режиме транзакций, в указанный объект хранилища.
Синтаксис
HRESULT OleSave(
[in] LPPERSISTSTORAGE pPS,
[in] LPSTORAGE pStg,
[in] BOOL fSameAsLoad
);
Параметры
[in] pPS
Указатель на интерфейс IPersistStorage в сохраняемом объекте.
[in] pStg
Указатель на интерфейс IStorage в целевом объекте хранилища, в котором должен быть сохранен объект, указанный в pPS .
[in] fSameAsLoad
ЗНАЧЕНИЕ TRUE указывает, что pStg — это тот же объект хранилища, из которого был загружен или создан объект ; ЗНАЧЕНИЕ FALSE указывает, что pStg был загружен или создан из другого объекта хранилища.
Возвращаемое значение
Эта функция возвращает S_OK об успешном выполнении. Ниже перечислены другие возможные значения.
Код возврата | Описание |
---|---|
|
Не удалось сохранить объект из-за нехватки места на диске.
Эта функция также может возвращать любые значения ошибок, возвращаемые методом IPersistStorage::Save . |
Комментарии
Вспомогающая функция OleSave обрабатывает распространенные ситуации, когда объект открыт в режиме транзакций, а затем сохраняется в указанный объект хранилища, который использует реализацию составного файла, предоставленного OLE. Режим транзакций означает, что изменения объекта буферизуются до вызова IStorage::Commit или IStorage::Revert . Вызывающие абоненты могут обрабатывать другие ситуации, вызывая интерфейсы IPersistStorage и IStorage напрямую.
OleSave выполняет следующие действия:
- Вызывает метод IPersist::GetClassID , чтобы получить ИДЕНТИФИКАТОР CLSID объекта .
- Записывает CLSID в объект хранилища с помощью функции WriteClassStg .
- Вызывает метод IPersistStorage::Save для сохранения объекта .
- Если при сохранении не было ошибок; вызывает метод IStorage::Commit для фиксации изменений.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ole2.h |
Библиотека | Ole32.lib |
DLL | Ole32.dll |
Набор API | ext-ms-win-com-ole32-l1-1-3 (представлен в Windows 10 версии 10.0.10240) |