ObjectContext::SetAbort 메서드(comsvcs.h)
개체가 실행 중인 트랜잭션을 중단해야 하며 반환할 때 개체가 비활성화되어야 한다고 선언합니다.
구문
HRESULT SetAbort();
반환 값
이 메서드는 다음 값뿐만 아니라 E_INVALIDARG, E_OUTOFMEMORY 및 E_FAIL 표준 반환 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
메서드가 완료되었습니다. |
|
예기치 않은 오류가 발생했습니다. 이 문제는 한 개체가 ObjectContext 포인터를 다른 개체에 전달하고 다른 개체가 이 포인터를 사용하여 SetAbort를 호출하는 경우에 발생할 수 있습니다. ObjectContext 포인터는 원래 가져온 개체의 컨텍스트 외부에서 유효하지 않습니다. |
설명
개체는 SetAbort라는 메서드에서 반환될 때 자동으로 비활성화됩니다. 개체가 자동 트랜잭션의 루트인 경우 COM+는 트랜잭션을 중단합니다. 개체가 트랜잭션이지만 자동 트랜잭션의 루트가 아닌 경우 개체가 참여하는 트랜잭션은 중단됩니다.
오류 처리기에서 SetAbort 를 호출하여 오류가 발생할 때 트랜잭션이 중단되도록 할 수 있습니다. 메서드의 시작 부분에서 SetAbort를 호출하여 예기치 않은 반환이 발생할 경우 개체가 조기에 커밋되지 않도록 한 다음, 모든 것이 잘되면 메서드가 반환되기 직전에 SetComplete 를 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | comsvcs.h |