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


Функция AllocConsoleWithOptions

При необходимости выделяет новую консоль для вызывающего процесса, позволяя указать видимость нового окна консоли.

Синтаксис

HRESULT WINAPI AllocConsoleWithOptions(
    _In_opt_  PALLOC_CONSOLE_OPTIONS allocOptions,
    _Out_opt_ PALLOC_CONSOLE_RESULT  result
);

Параметры

allocOptions [in, необязательный] Структура ALLOC_CONSOLE_OPTIONS, которая определяет, как эта функция выделяет окно.

результат [out, необязательный] Получает одно из следующих значений:

Ценность Значение
ALLOC_CONSOLE_RESULT_NO_CONSOLE 0 Консоль не была создана, потому что был использован ALLOC_CONSOLE_MODE_DEFAULT, и родительский процесс запросил не создавать её.
ALLOC_CONSOLE_RESULT_NEW_CONSOLE 1 В результате этого вызова был создан новый сеанс консоли. Результирующее поведение идентично AllocConsole.
ALLOC_CONSOLE_RESULT_EXISTING_CONSOLE 2 Процесс подключился к существующему сеансу консоли, унаследованному от родительского процесса. Результирующее поведение идентично AttachConsole.

Возвращаемое значение

Тип: HRESULT

Если этот метод выполнен успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT.

Замечания

В отличие от AllocConsole или AttachConsole, вызов этого метода при подключении к сеансу консоли не приводит к ошибке. В этом случае для параметра результата будет задано значение ALLOC_CONSOLE_RESULT_EXISTING_CONSOLE .

Процесс может использовать функцию FreeConsole для отсоединения от текущей консоли. Консоль закрывается, когда последний процесс, подключенный к нему, завершается или вызывает FreeConsole.

Требования

   
Минимальный поддерживаемый клиент Windows 11 24H2 (сборка 26100) [только настольные приложения]
Минимальный поддерживаемый сервер Windows Server 2025 (сборка 26100)
Заголовок ConsoleApi.h (через WinCon.h, включая Windows.h)
Библиотека Файл Kernel32.lib
DLL Kernel32.dll

См. также

Функции консоли

консоли

Политика выделения консоли

AllocConsole

AttachConsole

FreeConsole