IDebugClient5::EndSession 메서드(dbgeng.h)

EndSession 메서드는 현재 디버거 세션을 종료합니다.

구문

HRESULT EndSession(
  [in] ULONG Flags
);

매개 변수

[in] Flags

세션을 종료하는 방법을 지정합니다. 플래그 는 다음 값 중 하나일 수 있습니다.

플래그 설명
DEBUG_END_PASSIVE 세션에 대한 정리를 수행합니다.
DEBUG_END_ACTIVE_TERMINATE 세션에 대한 정리를 수행하기 전에 모든 사용자 모드 대상을 종료하려고 시도합니다.
DEBUG_END_ACTIVE_DETACH 세션에 대한 정리를 수행하기 전에 모든 대상에서 연결을 끊습니다.
DEBUG_END_REENTRANT 잠금을 가져올 필요가 없는 정리만 수행합니다. 자세한 내용은 설명 섹션을 참조하세요.
DEBUG_END_DISCONNECT 세션을 종료하지 마세요. 세션에서 클라이언트 연결을 끊고 클라이언트를 사용하지 않도록 설정합니다.

이 플래그는 원격 클라이언트의 연결이 끊어지는 경우에 적합합니다. 연결 끊김에 대한 서버 메시지를 생성합니다.

반환 값

이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요 .

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.

설명

플래그가 DEBUG_END_REENTRANT 설정된 상태에서 언제든지 이 메서드를 호출할 수 있습니다. 예를 들어 애플리케이션을 종료해야 하지만 다른 스레드가 엔진을 사용하는 경우 이 메서드를 사용하여 가능한 한 많은 정리를 수행할 수 있습니다.

DEBUG_END_REENTRANT 사용하면 엔진이 확정되지 않은 상태로 남을 수 있습니다. 이 플래그를 사용하는 경우 엔진에 대한 후속 호출을 수행하지 않아야 합니다.

디버거 세션에 대한 자세한 내용은 디버깅 세션 및 실행 모델을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(Dbgeng.h 포함)