CreatePseudoConsole 함수
호출 프로세스에 대한 새 의사console 개체를 만듭니다.
구문
HRESULT WINAPI CreatePseudoConsole(
_In_ COORD size,
_In_ HANDLE hInput,
_In_ HANDLE hOutput,
_In_ DWORD dwFlags,
_Out_ HPCON* phPC
);
매개 변수
크기 [in]
pseudoconsole의 초기 생성에 사용할 문자 수의 창/버퍼 크기입니다. 나중에 ResizePseudoConsole을 사용하여 조정할 수 있습니다.
hInput [in]
디바이스에 대한 사용자 입력을 나타내는 데이터 스트림에 대한 열린 핸들입니다. 현재 동기 I/O로 제한됩니다.
hOutput [in]
디바이스의 애플리케이션 출력을 나타내는 데이터 스트림에 대한 열린 핸들입니다. 현재 동기 I/O로 제한됩니다.
dwFlags [in]
값은 다음 중 하나입니다.
값 | 의미 |
---|---|
0 | 표준 의사 창 만들기를 수행합니다. |
PSEUDOCONSOLE_INHERIT_CURSOR(DWORD)1 | 생성된 pseudoconsole 세션은 부모 콘솔의 커서 위치를 상속하려고 시도합니다. |
phPC [out]
새 pseudoconsole 디바이스에 대한 핸들을 받을 위치에 대한 포인터입니다.
반환 값
형식: HRESULT
메서드가 성공하면 S_OK를 반환하고, 성공하지 않으면 HRESULT 오류 코드를 반환합니다.
설명
이 함수는 주로 CUI(명령줄 사용자 인터페이스) 애플리케이션의 터미널 창이 되도록 시도하는 애플리케이션에서 사용됩니다. 호출자는 출력 스트림에 대한 정보를 표시하고 사용자 입력을 수집하고 입력 스트림으로 serialize하는 작업을 담당합니다.
UTF-8로 인코딩된 입력 및 출력 스트림에는 가상 터미널 시퀀스와 인터리브된 일반 텍스트가 포함됩니다.
출력 스트림 에서 호출 애플리케이션에서 가상 터미널 시퀀스를 디코딩하여 레이아웃을 지정하고 표시 창에 일반 텍스트를 표시할 수 있습니다.
입력 스트림에서 일반 텍스트는 사용자가 입력한 표준 키보드 키를 나타냅니다. 더 복잡한 작업은 제어 키 및 마우스 이동을 이 스트림에 포함된 가상 터미널 시퀀스로 인코딩하여 나타냅니다.
작업이 완료되면 이 함수에서 만든 핸들을 ClosePseudoConsole로 닫아야 합니다.
사용하는 PSEUDOCONSOLE_INHERIT_CURSOR
경우 호출 애플리케이션은 수신 hOutput
hInput
될 커서 정보에 대한 요청을 전달하거나 해석하여 백그라운드 스레드에서 비동기 방식으로 커서 상태에 대한 요청에 응답하도록 준비해야 합니다. 이렇게 하지 않으면 의사console 시스템의 다른 요청을 수행하는 동안 호출 애플리케이션이 중단될 수 있습니다.
예제
이 함수를 사용하여 의사console 세션을 설정하는 방법에 대한 전체 연습은 Pseudoconsole 세션 만들기를 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 10 2018년 10월 업데이트(버전 1809) [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2019 [데스크톱 앱만 해당] |
헤더 | ConsoleApi.h(WinCon.h를 통해, Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |