Share via


Fonction ReadConsoleInput

Lit les données d’une mémoire tampon d’entrée de la console et les supprime de la mémoire tampon.

Syntaxe

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

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.

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

Si le nombre d'enregistrements demandé dans le paramètre nLength dépasse le nombre d'enregistrements disponibles dans la mémoire tampon, le nombre disponible est lu. La fonction ne renvoie pas tant qu'au moins un enregistrement d'entrée n'a pas été lu.

Un processus peut spécifier un descripteur de mémoire tampon d’entrée de console dans l’une des fonctions d’attente pour déterminer s’il existe une entrée de console non lus. Lorsque la mémoire tampon d’entrée n’est pas vide, l’état d’un descripteur de mémoire tampon d’entrée de console est signalé.

Pour déterminer le nombre d'enregistrements d'entrée non lus dans la mémoire tampon d'une console, utilisez la fonction GetNumberOfConsoleInputEvents. Pour lire les enregistrements d’entrée à partir d’une mémoire tampon d’entrée de console sans affecter le nombre d’enregistrements non lus, utilisez la fonction PeekConsoleInput. Pour ignorer tous les enregistrements non lus dans la mémoire tampon d’entrée d'une console, utilisez la fonction FlushConsoleInputBuffer.

Cette fonction utilise des caractères Unicode ou des caractères 8 bits de la page de codes actuelle de la console. Par défaut, la page de codes de la console est initialement définie sur la page de codes OEM du système. Pour changer la page de codes de la console, utilisez les fonctions SetConsoleCP ou SetConsoleOutputCP. Les consommateurs existants peuvent également utiliser les commandes chcp ou mode con cp select=, mais ce n’est pas recommandé pour un nouveau développement.

Exemples

Pour obtenir un exemple, consultez Lecture des événements de mémoire tampon d’entrée.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête ConsoleApi.h (via WinCon.h, inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll
Noms Unicode et ANSI ReadConsoleInputW (Unicode) et ReadConsoleInputA (ANSI)

Voir aussi

Fonctions de console

FlushConsoleInputBuffer

GetNumberOfConsoleInputEvents

INPUT_RECORD

Fonctions d’entrée de console de bas niveau

PeekConsoleInput

ReadConsole

ReadConsoleInputEx

ReadFile

SetConsoleCP

SetConsoleOutputCP

WriteConsoleInput