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) |