Поделиться через


Функция 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 г. (версия 1809) [только классические приложения]
Минимальный поддерживаемый сервер Windows Server 2019 [только настольные приложения]
Заголовок ConsoleApi.h (через WinCon.h, включая Windows.h)
Библиотека Файл Kernel32.lib
DLL Kernel32.dll

См. также

Псевдоконсолы

CreatePseudoConsole

Изменение размераPseudoConsole