Share via


ObjectContext::D isableCommit 메서드(comsvcs.h)

개체의 트랜잭션 업데이트가 일관되지 않으며 현재 상태에서 커밋할 수 없음을 선언합니다.

구문

HRESULT DisableCommit();

반환 값

이 메서드는 다음 값뿐만 아니라 E_INVALIDARG, E_OUTOFMEMORY 및 E_FAIL 표준 반환 값을 반환할 수 있습니다.

반환 코드 설명
S_OK
메서드가 완료되었습니다. 개체가 EnableCommit 또는 SetComplete를 호출할 때까지 개체의 트랜잭션 업데이트를 커밋할 수 없습니다.
E_UNEXPECTED
예기치 않은 오류가 발생했습니다. 이 문제는 한 개체가 ObjectContext 포인터를 다른 개체에 전달하고 다른 개체가 이 포인터를 사용하여 DisableCommit 을 호출하는 경우에 발생할 수 있습니다. ObjectContext 포인터는 원래 가져온 개체의 컨텍스트 외부에서 유효하지 않습니다.
CONTEXT_E_NOCONTEXT
현재 개체에 연결된 컨텍스트가 없습니다. 이는 COM+ CreateInstance 메서드 중 하나로 만들어지지 않았기 때문일 수 있습니다.

설명

DisableCommit 메서드를 사용하여 트랜잭션이 상태 저장 개체의 메서드 호출 간에 조기에 커밋되지 않도록 할 수 있습니다. 개체가 DisableCommit을 호출하면 해당 작업이 일관되지 않으며 클라이언트에서 추가 메서드 호출을 받을 때까지 작업을 완료할 수 없음을 나타냅니다. 또한 해당 작업을 수행하기 위해 상태를 유지해야 했음을 나타냅니다. 이렇게 하면 COM+에서 개체를 비활성화하고 메서드 호출에서 반환할 때 해당 리소스를 회수할 수 없습니다. 개체가 DisableCommit을 호출한 경우 클라이언트가 EnableCommit 또는 SetComplete를 호출하기 전에 트랜잭션을 커밋하려고 하면 트랜잭션이 중단됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 comsvcs.h

추가 정보

Objectcontext