Partager via


Fonction ReadConsoleInputEx

Lit les données d’une mémoire tampon d’entrée de la console et les supprime de la mémoire tampon, avec un comportement configurable.

Remarque : cette fonction n’a aucune bibliothèque d’importation associée. Cette fonction est disponible en tant que ressources nommées ReadConsoleInputExA et ReadConsoleInputExW dans Kernel32.dll. Vous devez utiliser les fonctions LoadLibrary et GetProcAddress pour établir un lien dynamique avec Kernel32.dll.

Syntaxe

BOOL WINAPI ReadConsoleInputEx(
  _In_  HANDLE        hConsoleInput,
  _Out_ PINPUT_RECORD lpBuffer,
  _In_  DWORD         nLength,
  _Out_ LPDWORD       lpNumberOfEventsRead,
  _In_  USHORT        wFlags
);

Paramètres

hConsoleInput [entrée]
Un descripteur vers la mémoire tampon d’entrée de console. Le descripteur doit avoir le droit d’accès GENERIC_READ. Pour plus d’informations, consultez Sécurité de la mémoire tampon et droits d’accès d’une console.

lpBuffer [sortie]
Un pointeur vers un tableau de structures INPUT_RECORD qui reçoit les données de la mémoire tampon d’entrée.

nLength [entrée]
La taille du tableau pointé par le paramètre lpBuffer, en éléments de tableau.

lpNumberOfEventsRead [sortie]
Un pointeur sur une variable qui reçoit le nombre d'enregistrements d'entrée lus.

wFlags [entrée]

Un ensemble d’indicateurs (ORed) qui spécifient le comportement de lecture de la console.

Valeur Signification
CONSOLE_READ_NOREMOVE0x0001 Laissez les événements dans la mémoire tampon d’entrée (comme dans PeekConsoleInput)
CONSOLE_READ_NOWAIT0x0002 Renvoie immédiatement, même s'il n'y a pas d'événements dans la mémoire tampon d'entrée.

Valeur renvoyée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Notes

Cette fonction est une version configurable de ReadConsoleInput. Consultez les remarques ReadConsoleInput pour des détails opérationnels supplémentaires.

L'appel de ReadConsoleInputEx avec les indicateurs CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT est équivalent à l'appel de PeekConsoleInput.

Cette fonction n’existe pas dans les en-têtes de console Windows. Pour y accéder à partir d'une application C ou C++, incluez les déclarations suivantes et liez dynamiquement kernel32.dll comme indiqué ci-dessus.

#ifndef CONSOLE_READ_NOREMOVE
#define CONSOLE_READ_NOREMOVE   0x0001
#endif

#ifndef CONSOLE_READ_NOWAIT
#define CONSOLE_READ_NOWAIT     0x0002
#endif

BOOL
WINAPI
ReadConsoleInputExA(
    _In_ HANDLE hConsoleInput,
    _Out_writes_(nLength) PINPUT_RECORD lpBuffer,
    _In_ DWORD nLength,
    _Out_ LPDWORD lpNumberOfEventsRead,
    _In_ USHORT wFlags);

BOOL
WINAPI
ReadConsoleInputExW(
    _In_ HANDLE hConsoleInput,
    _Out_writes_(nLength) PINPUT_RECORD lpBuffer,
    _In_ DWORD nLength,
    _Out_ LPDWORD lpNumberOfEventsRead,
    _In_ USHORT wFlags);

Spécifications

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête aucun, consulter les remarques
Bibliothèque aucun, consulter les remarques
DLL Kernel32.dll
Noms Unicode et ANSI ReadConsoleInputExW (Unicode) et ReadConsoleInputExA (ANSI)

Voir aussi

Fonctions de console

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Fonctions d’entrée de console de bas niveau

ReadConsoleInput

PeekConsoleInput

ReadConsole

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput