dbgPrompt 函数 (ntddk.h)
DbgPrompt 例程在内核调试器的显示设备上显示调用方指定的用户提示字符串,并获取用户响应字符串。
语法
NTSYSAPI ULONG DbgPrompt(
[in] PCCH Prompt,
[out] PCH Response,
ULONG Length
);
参数
[in] Prompt
指向以 NULL 结尾的常量字符串的指针,调试器将显示为用户提示。 此字符串的最大大小为 512 个字符。
[out] Response
指向接收用户响应(包括终止换行符)的字符数组缓冲区的指针。 此缓冲区的最大大小为 512 个字符。
Length
接收用户响应的缓冲区的大小(以字符为单位)。 此大小是例程将返回的最大字符数。
返回值
DbgPrompt 返回 响应 缓冲区收到的字符数,包括终止换行符。 如果 DbgPrompt 未收到任何字符,则返回零。
注解
DbgPrompt 例程在内核调试器的显示设备上显示指定的提示字符串,然后读取一行用户输入文本。
DbgPrompt 返回后,响应缓冲区包含用户的响应,包括终止换行符。 用户响应字符串不是以 NULL 结尾的。
下面的代码示例询问用户是否要继续,并接受字母“y”表示 yes,接受字母“n”表示否。
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.
//
}
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | ntddk.h (包括 Ntddk.h) |
Library | NtDll.lib (用户模式) ;NtosKrnl.lib (内核模式) |
DLL | NtDll.dll (用户模式) ;NtosKrnl.exe (内核模式) |
IRQL | <= DIRQL |