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

Объявляет, что транзакция, в которой выполняется объект, должна быть прервана и что объект должен быть деактивирован при возврате.

Синтаксис

HRESULT SetAbort();

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

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

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

Комментарии

Объект автоматически деактивируется при возвращении из метода, в котором он вызвал SetAbort. Если объект является корнем автоматической транзакции, COM+ прерывает транзакцию. Если объект является транзакционной, но не является корнем автоматической транзакции, транзакция, в которой он участвует, обречена на прерывание.

Вы можете вызвать SetAbort в обработчиках ошибок, чтобы убедиться, что транзакция прерывается при возникновении ошибки. Вы также можете вызвать SetAbort в начале метода, чтобы предотвратить преждевременное фиксацию объекта в случае непредвиденного возврата, а затем, если все пойдет хорошо, вызов setComplete непосредственно перед возвратом метода.

Требования

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

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

Objectcontext