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
헤더 comsvcs.h

추가 정보

IObjectContext