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


Метод IObjectContext::EnableCommit (comsvcs.h)

Объявляет, что работа объекта не обязательно завершена, но что его транзакционные обновления находятся в согласованном состоянии и могут быть зафиксированы в их текущей форме.

Синтаксис

HRESULT EnableCommit();

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

Этот метод может возвращать следующие значения.

Код возврата Описание
S_OK
Метод успешно завершен, и транзакционные обновления объекта теперь можно зафиксировать.
E_UNEXPECTED
Произошла непредвиденная ошибка. Это может произойти, если один объект передает указатель IObjectContext другому объекту, а другой объект вызывает EnableCommit с помощью этого указателя. Указатель IObjectContext недопустим вне контекста объекта, который его первоначально получил.

Комментарии

Когда объект вызывает EnableCommit, он разрешает фиксацию транзакции, в которой он участвует, но сохраняет свое внутреннее состояние во всех вызовах от своих клиентов до тех пор, пока не вызовет SetComplete или SetAbort или пока транзакция не завершится.

EnableCommit — это состояние по умолчанию при активации объекта. Таким образом, объект всегда должен вызывать SetComplete или SetAbort перед возвратом из метода, если вы не хотите, чтобы объект сохранял свое внутреннее состояние для следующего вызова клиента.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header comsvcs.h

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

IObjectContext