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 |