ClosePseudoConsole 函数

关闭并释放与给定伪控制台关联的资源。

语法

void WINAPI ClosePseudoConsole(
    _In_ HPCON hPC
);

参数

hPC [in]
CreatePseudoConsole 打开的活动伪控制台的句柄。

返回值

注解

关闭伪控制台会将CTRL_CLOSE_EVENT发送到每个仍处于连接状态的客户端应用程序。 在应用程序断开连接之前,它们可能会继续写入更多输出。 因此,应用程序应先关闭输出管道,然后再调用 ClosePseudoConsole 或继续从管道读取,直到 ClosePseudoConsole 返回之后。

注释

从 Windows 11 24H2(版本 26100)开始,ClosePseudoConsole 将立即返回,以避免意外死锁。 早期版本将无限期等待伪控制台退出。 如果你需要知道所有客户端何时断开连接,只需持续读取输出管道,直到管道被关闭。

警告

因此,如果未能关闭或清空输出管道,可能会导致 ClosePseudoConsole 在早期版本的 Windows 中无限期等待。 为避免旧版本中的死锁,不要在读取输出管道的同一线程中调用 ClosePseudoConsole,除非该管道已由你关闭,或伪控制台已关闭该管道。

要求

   
支持的最低客户端 Windows 10 2018 年 10 月更新(版本 1809) [仅限桌面应用]
支持的最低服务器 Windows Server 2019 [仅限桌面应用]
标题 ConsoleApi.h (via WinCon.h, include Windows.h)
图书馆 Kernel32.lib
DLL Kernel32.dll

另请参阅

伪控制台

CreatePseudoConsole

ResizePseudoConsole