다음을 통해 공유


COM+가 반환 값을 수정하는 방법

COM+는 E_UNEXPECTED 또는 E_FAIL 같은 실패를 나타내는 HRESULT 의 반환 값을 변경하지 않습니다. 그러나 COM+ 기능을 사용하는 개체가 성공을 나타내는 HRESULT 값(예: S_OK, S_FALSE 또는 NOERROR)을 반환하는 경우 COM+는 때때로 HRESULT 를 COM+ 오류 코드로 변환한 후 호출자에게 반환합니다.

예를 들어 IObjectContext::SetComplete를 호출한 후 애플리케이션이 S_OK 반환하는 경우 개체가 커밋에 실패한 트랜잭션의 루트인 경우 HRESULT 는 CONTEXT_E_ABORTED 변환됩니다.

COM+에서 HRESULT 값을 변환하면 메서드의 모든 출력 매개 변수가 지워집니다. 반환된 참조가 해제되고 반환된 개체 포인터의 값이 NULL로 설정됩니다.

오류 격리 및 장애 조치(failfast) 정책

오류의 원본 찾기

오류 코드 해석

COM+에서 오류를 처리하기 위한 전략

문제 해결