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.
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_NOREMOVE 0x0001 |
Laissez les événements dans la mémoire tampon d’entrée (comme dans PeekConsoleInput ) |
CONSOLE_READ_NOWAIT 0x0002 |
Renvoie immédiatement, même s'il n'y a pas d'événements dans la mémoire tampon d'entrée. |
Valeur retourné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) |