다음을 통해 공유


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"라는 문자와 아니요의 문자 "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