IDebugClient2::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 |
---|---|
|
메서드를 성공적으로 수행했습니다. |
플래그가 DEBUG_END_REENTRANT 설정된 상태에서 언제든지 이 메서드를 호출할 수 있습니다. 예를 들어 애플리케이션을 종료해야 하지만 다른 스레드가 엔진을 사용하는 경우 이 메서드를 사용하여 가능한 한 많은 정리를 수행할 수 있습니다.
DEBUG_END_REENTRANT 사용하면 엔진이 확정되지 않은 상태로 남을 수 있습니다. 이 플래그를 사용하는 경우 엔진에 대한 후속 호출을 수행하지 않아야 합니다.
디버거 세션에 대한 자세한 내용은 디버깅 세션 및 실행 모델을 참조하세요.
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dbgeng.h(Dbgeng.h 포함) |