Compartilhar via


Função DbgPrompt (ntddk.h)

A rotina DbgPrompt exibe uma cadeia de caracteres de prompt de usuário especificada pelo chamador no dispositivo de exibição do depurador do kernel e obtém uma cadeia de caracteres de resposta do usuário.

Sintaxe

NTSYSAPI ULONG DbgPrompt(
  [in]  PCCH  Prompt,
  [out] PCH   Response,
        ULONG Length
);

Parâmetros

[in] Prompt

Um ponteiro para uma cadeia de caracteres constante terminada em NULL que o depurador exibirá como um prompt de usuário. O tamanho máximo dessa cadeia de caracteres é de 512 caracteres.

[out] Response

Um ponteiro para um buffer de matriz de caracteres que recebe a resposta do usuário, incluindo um caractere de nova linha de encerramento. O tamanho máximo desse buffer é de 512 caracteres.

Length

O tamanho, em caracteres, do buffer que recebe a resposta do usuário. Esse tamanho é o número máximo de caracteres que a rotina retornará.

Valor de retorno

DbgPrompt retorna o número de caracteres que o buffer de Resposta recebeu, incluindo o caractere de nova linha de encerramento. DbgPrompt retornará zero se não receber caracteres.

Observações

A rotina DbgPrompt exibe a cadeia de caracteres de prompt especificada no dispositivo de exibição do depurador do kernel e lê uma linha de texto de entrada do usuário.

Depois que DbgPrompt retorna, o buffer de Resposta contém a resposta do usuário, incluindo o caractere de nova linha de encerramento. A cadeia de caracteres de resposta do usuário não é terminada em NULL.

O exemplo de código a seguir pergunta se o usuário deseja continuar e aceita a letra "y" para sim e a letra "n" para não.

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.
    //
}

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho ntddk.h (inclua Ntddk.h)
biblioteca NtDll.lib (modo de usuário); NtosKrnl.lib (modo kernel)
de DLL NtDll.dll (modo de usuário); NtosKrnl.exe (modo kernel)
IRQL <= DIRQL