Click to Rate and Give Feedback
MSDN
MSDN Library
System Services
Console Reference
Console Functions
 ReadConsoleInput Function
ReadConsoleInput Function

Reads data from a console input buffer and removes it from the buffer.

Syntax

BOOL WINAPI ReadConsoleInput(
  __in   HANDLE hConsoleInput,
  __out  PINPUT_RECORD lpBuffer,
  __in   DWORD nLength,
  __out  LPDWORD lpNumberOfEventsRead
);

Parameters

hConsoleInput [in]

A handle to the console input buffer. The handle must have the GENERIC_READ access right. For more information, see Console Buffer Security and Access Rights.

lpBuffer [out]

A pointer to an array of INPUT_RECORD structures that receives the input buffer data. The total size of the array required will be less than 64K.

nLength [in]

The size of the array pointed to by the lpBuffer parameter, in array elements.

lpNumberOfEventsRead [out]

A pointer to a variable that receives the number of input records read.

Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

If the number of records requested in the nLength parameter exceeds the number of records available in the buffer, the number available is read. The function does not return until at least one input record has been read.

A process can specify a console input buffer handle in one of the wait functions to determine when there is unread console input. When the input buffer is not empty, the state of a console input buffer handle is signaled.

To determine the number of unread input records in a console's input buffer, use the GetNumberOfConsoleInputEvents function. To read input records from a console input buffer without affecting the number of unread records, use the PeekConsoleInput function. To discard all unread records in a console's input buffer, use the FlushConsoleInputBuffer function.

This function uses either Unicode characters or 8-bit characters from the console's current code page. The console's code page defaults initially to the system's OEM code page. To change the console's code page, use the SetConsoleCP or SetConsoleOutputCP functions, or use the chcp or mode con cp select= commands.

Examples

For an example, see Reading Input Buffer Events.

Requirements

Minimum supported clientWindows 2000 Professional
Minimum supported serverWindows 2000 Server
HeaderWincon.h (include Windows.h)
LibraryKernel32.lib
DLLKernel32.dll
Unicode and ANSI namesReadConsoleInputW (Unicode) and ReadConsoleInputA (ANSI)

See Also

Console Functions
FlushConsoleInputBuffer
GetNumberOfConsoleInputEvents
INPUT_RECORD
Low-Level Console Input Functions
PeekConsoleInput
ReadConsole
ReadFile
SetConsoleCP
SetConsoleOutputCP
WriteConsoleInput


Send comments about this topic to Microsoft

Build date: 11/6/2008

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker