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 は 0 を返します。
注釈
DbgPrompt ルーチンは、カーネル デバッガーの表示デバイスに指定されたプロンプト文字列を表示し、ユーザー入力テキストの行を読み取ります。
DbgPrompt が返された後、応答バッファーには、終了する改行文字を含むユーザーの応答が含まれます。 ユーザー応答文字列は NULL で終わるものではありません。
次のコード例では、ユーザーが続行するかどうかを確認し、"y" という文字を yes に、文字 "n" を no に受け入れます。
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.
//
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntddk.h (Ntddk.h を含む) |
Library | NtDll.lib (ユーザー モード);NtosKrnl.lib (カーネル モード) |
[DLL] | NtDll.dll (ユーザー モード);NtosKrnl.exe (カーネル モード) |
IRQL | <= DIRQL |