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


Как COM+ изменяет возвращаемые значения

COM+ никогда не изменяет возвращаемое значение HRESULT , указывающее на сбой, например E_UNEXPECTED или E_FAIL. Однако если объект с помощью функции COM+ возвращает значение HRESULT , указывающее на успех (например, S_OK, S_FALSE или NOERROR), COM+ иногда преобразует HRESULT в код ошибки COM+, прежде чем он возвращается вызывающему объекту.

Например, когда приложение возвращает S_OK после вызова IObjectContext::SetComplete, если объект является корнем транзакции, которая не может зафиксировать, HRESULT преобразуется в CONTEXT_E_ABORTED.

При преобразовании значения HRESULT com+ удаляет все выходные параметры метода. Возвращаемые ссылки выпускаются, а значения возвращаемых указателей объектов имеют значение NULL.

Политика изоляции сбоя и сбоя

Поиск источника ошибки

Интерпретация кодов ошибок

Стратегии обработки ошибок в COM+

Устранение неполадок