Метод IStream::Commit (objidl.h)
Метод Commit гарантирует, что все изменения, внесенные в объект потока, открытый в режиме транзакций, отражаются в родительском хранилище. Если объект потока открыт в прямом режиме, IStream::Commit не оказывает никакого влияния, кроме очистки всех буферов памяти в объект хранилища следующего уровня. Реализация потоков составного com-файла не поддерживает открытие потоков в режиме транзакций.
Синтаксис
HRESULT Commit(
[in] DWORD grfCommitFlags
);
Параметры
[in] grfCommitFlags
Необходимо проследить за фиксацией изменений объекта-потока. Определение этих значений см. в перечислении STGC .
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
S_OK | Изменения объекта потока успешно зафиксированы на родительском уровне. |
E_PENDING | Только асинхронное хранилище. Часть или все данные потока в настоящее время недоступны. |
STG_E_MEDIUMFULL | Операция фиксации завершилась сбоем из-за нехватки места на запоминаемом устройстве. |
STG_E_REVERTED | Объект был признан недействительным операцией отменить изменения над ним в дереве транзакций. |
Комментарии
Метод Commit гарантирует, что изменения объекта потока, открытого в режиме транзакций, отражаются в родительском хранилище. Изменения, внесенные в поток с момента его открытия или последней фиксации, отражаются в родительском объекте хранилища. Если родительский элемент открыт в режиме транзакций, родительский объект может отменить изменения позже, откатив изменения в этом объекте потока. Реализация составного файла не поддерживает открытие потоков в режиме транзакций, поэтому этот метод оказывает очень мало влияния, кроме очистки буферов памяти. Дополнительные сведения см. в разделе IStream — реализация составного файла.
Если поток открыт в прямом режиме, этот метод гарантирует, что все буферы памяти были сброшены в базовый объект хранилища. Это во многом похоже на очистку в традиционных файловых системах.
Метод IStream::Commit полезен в потоке прямого режима, если реализация интерфейса IStream является оболочкой для базовых API файловой системы. В этом случае IStream::Commit будет подключен к вызову очистки файловой системы.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | objidl.h |
Библиотека | Uuid.lib |
DLL | Ole32.dll |