WriteConsoleInput 함수

Important

이 문서에서는 더 이상 에코시스템 로드맵의 일부가 되지 않는 콘솔 플랫폼 기능에 대해 설명합니다. 이 콘텐츠를 신제품에서 사용하지 않는 것이 좋지만, 무기한 앞으로도 기존 사용을 계속 지원할 것입니다. 선호하는 최신 솔루션은 플랫폼 간 시나리오에서 최대 호환성을 위해 가상 터미널 시퀀스에 중점을 둡니다. 이 디자인 결정에 대한 자세한 내용은 클래식 콘솔과 가상 터미널 문서에서 확인할 수 있습니다.

콘솔 입력 버퍼에 직접 데이터를 씁니다.

구문

BOOL WINAPI WriteConsoleInput(
  _In_        HANDLE       hConsoleInput,
  _In_  const INPUT_RECORD *lpBuffer,
  _In_        DWORD        nLength,
  _Out_       LPDWORD      lpNumberOfEventsWritten
);

매개 변수

hConsoleInput [in]
콘솔 입력 버퍼에 대한 핸들입니다. 핸들에는 GENERIC_WRITE 액세스 권한이 있어야 합니다. 자세한 내용은 콘솔 버퍼 보안 및 액세스 권한을 참조하세요.

lpBuffer [in]
입력 버퍼에 쓸 데이터를 포함하는 INPUT_RECORD 구조체 배열에 대한 포인터입니다.

nLength [in]
기록할 입력 레코드의 수입니다.

lpNumberOfEventsWritten [out]
실제로 작성된 입력 레코드 수를 받는 변수에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

WriteConsoleInput 은 입력 레코드를 버퍼의 보류 중인 이벤트 뒤에 있는 입력 버퍼에 배치합니다. 입력 버퍼는 필요한 경우 동적으로 증가하여 기록된 만큼의 이벤트를 보유합니다.

이 함수는 콘솔의 현재 코드 페이지에서 유니코드 문자 또는 8비트 문자를 사용합니다. 콘솔의 코드 페이지는 처음에 기본적으로 시스템의 OEM 코드 페이지로 설정됩니다. 콘솔의 코드 페이지를 변경하려면 SetConsoleCP 또는 SetConsoleOutputCP 함수를 사용합니다. 레거시 소비자는 chcp 또는 mode con cp select= 명령을 사용할 수도 있지만 새로운 개발에는 추천되지 않습니다.

이 API는 권장되지 않으며 해당하는 가상 터미널없습니다. 이 결정은 의도적으로 Windows 플랫폼을 다른 운영 체제와 정렬합니다. 이 작업은 이 버퍼의 잘못된 동사 로 간주됩니다. 이 API를 사용하는 경우 플랫폼 간 유틸리티 및 SSH와 같은 전송을 통한 애플리케이션 원격 작업이 예상대로 작동하지 않을 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
헤더 ConsoleApi2.h(WinCon.h를 통해 Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll
유니코드 및 ANSI 이름 WriteConsoleInputW (유니코드) 및 WriteConsoleInputA (ANSI)

참고 항목

콘솔 함수

INPUT_RECORD

하위 수준 콘솔 입력 함수

MapVirtualKey

PeekConsoleInput

ReadConsoleInput

SetConsoleCP

SetConsoleOutputCP

VkKeyScan