지정된 pseudoconsole과 연결된 리소스를 종료하고 해제합니다.
문법
void WINAPI ClosePseudoConsole(
_In_ HPCON hPC
);
매개 변수
hPC [in]
CreatePseudoConsole로 연 활성 의사 콘솔에 대한 핸들입니다.
반환 값
없음
비고
pseudoconsole을 닫으면 여전히 연결된 각 클라이언트 애플리케이션에 CTRL_CLOSE_EVENT 전송됩니다. 애플리케이션의 연결이 끊어질 때까지 더 많은 출력을 계속 작성할 수 있습니다. 이 때문에 애플리케이션은 ClosePseudoConsole 을 호출하기 전에 출력 파이프를 닫거나 ClosePseudoConsole 이 반환될 때까지 파이프에서 계속 읽기를 해야 합니다.
비고
Windows 11 24H2(빌드 26100)부터 ClosePseudoConsole 은 우발적인 교착 상태를 방지하기 위해 즉시 반환됩니다. 이전 버전은 의사콘솔이 종료될 때까지 무기한으로 대기합니다. 모든 클라이언트의 연결이 끊어진 시기를 알아야 하는 경우, 출력 파이프가 닫힐 때까지 계속 읽기를 유지하면 됩니다.
경고
위의 결과로 출력 파이프를 닫거나 드레이닝하지 않으면 ClosePseudoConsole 이 이전 버전의 Windows에서 무기한 대기할 수 있습니다. 이전 버전에서 교착 상태를 방지하려면, 출력 파이프를 읽고 있는 동일 스레드에서 ClosePseudoConsole을 호출하지 마십시오. 단, 출력 파이프가 이전에 사용자가 닫았거나 의사 콘솔이 닫은 경우는 제외입니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows 10 2018년 10월 업데이트(버전 1809) [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | Windows Server 2019 [데스크톱 앱만 해당] |
| 헤더 | ConsoleApi.h(WinCon.h를 통해 Windows.h 포함) |
| 라이브러리 | 커널32.lib |
| 동적 링크 라이브러리 (DLL) | Kernel32.dll |