Метод ObjectContext::D isableCommit (comsvcs.h)

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

Синтаксис

HRESULT DisableCommit();

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

Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и E_FAIL, а также следующие значения.

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

Комментарии

Метод DisableCommit можно использовать для предотвращения преждевременной фиксации транзакции между вызовами методов в объекте с отслеживанием состояния. Когда объект вызывает DisableCommit, он указывает, что его работа является несогласованной и что он не может завершить свою работу, пока не получит дальнейшие вызовы метода от клиента. Он также указывает, что для выполнения этой работы необходимо сохранить свое состояние. Это не позволит COM+ деактивировать объект и освободить его ресурсы при возвращении из вызова метода. Если объект вызывает DisableCommit, если клиент пытается зафиксировать транзакцию до вызова объекта EnableCommit или SetComplete, транзакция прерывается.

Требования

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

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

Objectcontext