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

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

Синтаксис

HRESULT SetAbort();

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

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

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

Комментарии

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

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

Требования

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

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

IObjectContext