DbgPrompt, fonction (ntddk.h)
La routine DbgPrompt affiche une chaîne d’invite utilisateur spécifiée par l’appelant sur l’appareil d’affichage du débogueur du noyau et obtient une chaîne de réponse utilisateur.
Syntaxe
NTSYSAPI ULONG DbgPrompt(
[in] PCCH Prompt,
[out] PCH Response,
ULONG Length
);
Paramètres
[in] Prompt
Pointeur vers une chaîne de caractères constantes terminée par NULL que le débogueur affichera en tant qu’invite utilisateur. La taille maximale de cette chaîne est de 512 caractères.
[out] Response
Pointeur vers une mémoire tampon de tableau de caractères qui reçoit la réponse de l’utilisateur, y compris un caractère de ligne de fin. La taille maximale de cette mémoire tampon est de 512 caractères.
Length
Taille, en caractères, de la mémoire tampon qui reçoit la réponse de l’utilisateur. Cette taille correspond au nombre maximal de caractères retournés par la routine.
Valeur de retour
DbgPrompt retourne le nombre de caractères reçus par la mémoire tampon réponse, y compris le caractère de ligne de fin. DbgPrompt retourne zéro s’il ne reçoit aucun caractère.
Remarques
La routine DbgPrompt affiche la chaîne d’invite spécifiée sur l’appareil d’affichage du débogueur du noyau, puis lit une ligne de texte d’entrée utilisateur.
Après dbgPrompt retourne, la mémoire tampon réponse contient la réponse de l’utilisateur, y compris le caractère de ligne de fin. La chaîne de réponse de l’utilisateur n’est pas terminée par NULL.
L’exemple de code suivant demande si l’utilisateur souhaite continuer et accepte la lettre « y » pour oui et la lettre « n » pour non.
CHAR Response[2];
BOOLEAN Continue = FALSE;
ULONG CharCount;
for (;;) {
CharCount = DbgPrompt(
"Do you want to continue? (Type y or n, then type Enter.) ",
Response,
sizeof(Response)
);
if (CharCount == 2) {
if (Response[0] == 'y') {
Continue = TRUE;
break;
} else if (Response[0] == 'n') {
break;
}
}
//
// Incorrect response. Display the prompt again.
//
}
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | ntddk.h (include Ntddk.h) |
bibliothèque | NtDll.lib (mode utilisateur) ; NtosKrnl.lib (mode noyau) |
DLL | NtDll.dll (mode utilisateur) ; NtosKrnl.exe (mode noyau) |
IRQL | <= DIRQL |