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


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

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

Синтаксис

HRESULT SetComplete();

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

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

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

Комментарии

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

Если объекту не нужно сохранять свое состояние после возврата из вызова метода, он должен вызвать SetComplete , чтобы его можно было автоматически деактивировать сразу после возврата и восстановления его ресурсов.

Требования

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

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

IObjectContext