필요에 따라 호출 프로세스에 새 콘솔을 할당하는 동시에 새 콘솔 창의 표시 유형을 지정할 수 있습니다.
문법
HRESULT WINAPI AllocConsoleWithOptions(
_In_opt_ PALLOC_CONSOLE_OPTIONS allocOptions,
_Out_opt_ PALLOC_CONSOLE_RESULT result
);
매개 변수
allocOptions [in, optional] 이 함수가 창을 할당하는 방법을 제어하는 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 포함) |
| 라이브러리 | 커널32.lib |
| 동적 링크 라이브러리 (DLL) | Kernel32.dll |