DbgPrompt, fonction (ntddk.h)

La routine DbgPrompt affiche une chaîne d’invite utilisateur spécifiée par l’appelant sur le périphérique 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 constante terminée par null que le débogueur affiche 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 est le nombre maximal de caractères que la routine retournera.

Valeur retournée

DbgPrompt retourne le nombre de caractères reçus par la mémoire tampon de 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 le périphérique d’affichage du débogueur du noyau, puis lit une ligne de texte d’entrée utilisateur.

Une fois que DbgPrompt est retourné, la mémoire tampon de réponse contient la réponse de l’utilisateur, y compris le caractère de nouvelle 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.
    //
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntddk.h (incluez Ntddk.h)
Bibliothèque NtDll.lib (mode utilisateur) ; NtosKrnl.lib (mode noyau)
DLL NtDll.dll (mode utilisateur) ; NtosKrnl.exe (mode noyau)
IRQL <= DIRQL