DbgPrompt ルーチンは、カーネル デバッガーの表示デバイスに呼び出し元が指定したユーザー プロンプト文字列を表示し、ユーザー応答文字列を取得します。
構文
NTSYSAPI ULONG DbgPrompt(
[in] PCCH Prompt,
[out] PCH Response,
ULONG Length
);
パラメーター
[in] Prompt
デバッガーがユーザー プロンプトとして表示する NULL で終わる定数文字列へのポインター。 この文字列の最大サイズは 512 文字です。
[out] Response
終端の改行文字を含む、ユーザーの応答を受け取る文字配列バッファーへのポインター。 このバッファーの最大サイズは 512 文字です。
Length
ユーザーの応答を受け取るバッファーのサイズ (文字数)。 このサイズは、ルーチンが返す最大文字数です。
戻り値
DbgPrompt は、Response バッファーが受信した文字数 (終端の改行文字を含む) を返します。 DbgPrompt は、文字を受け取っていない場合は 0 を返します。
備考
DbgPrompt ルーチンは、カーネル デバッガーの表示デバイスに指定されたプロンプト文字列を表示し、ユーザー入力テキストの行を読み取ります。
DbgPrompt 戻った後、Response バッファーには、終端の改行文字を含むユーザーの応答が含まれます。 ユーザー応答文字列は 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 を含む) |
ライブラリ | NtDll.lib (ユーザー モード);NtosKrnl.lib (カーネル モード) |
DLL | NtDll.dll (ユーザー モード);NtosKrnl.exe (カーネル モード) |
IRQL | <= DIRQL |