KdPrint 매크로(wdm.h)
KdPrint 매크로는 커널 디버거에 메시지를 보냅니다.
KdPrint 지정한 조건이 적용되는 경우에만 메시지를 보냅니다. 자세한 내용은 아래 섹션을 참조하세요.
KdPrint 호출하려면 이중 괄호가 필요합니다.
통사론
void KdPrint(
[in] _x_
);
매개 변수
[in] _x_
인쇄할 서식 문자열에 대한 포인터를 지정합니다. Format 문자열은 대부분의 printf스타일 형식 사양 구문지원합니다. 그러나 유니코드 형식 코드(%C, %S, %lc, %ls, %wc, %ws및 %wZ)는 IRQL = PASSIVE_LEVEL 함께만 사용할 수 있습니다. KdPrint 루틴은 부동 소수점 형식(%f, %e, %E, %g, %G, %a또는 %A)을 지원하지 않습니다.
반환 값
없음
발언
KdPrint 디버그 구성을 위해 컴파일된 코드의 DbgPrint 루틴과 동일합니다. 릴리스 구성을 위해 컴파일된 경우에는 이 루틴이 적용되지 않습니다. 커널 모드 드라이버만 KdPrint 루틴을 호출할 수 있습니다.
KdPrint 특정 조건이 적용되는 경우에만 메시지를 보냅니다. 특히 기본 구성 요소와 메시지 중요도 수준이 DPFLTR_INFO_LEVEL KdPrintEx 동작합니다. 즉, 다음 두 함수 호출은 동일합니다.
KdPrint (( Format, arguments ))
KdPrintEx (( DPFLTR_DEFAULT_ID, DPFLTR_INFO_LEVEL, Format, arguments ))
메시지 필터링, 구성 요소 및 메시지 중요도 수준에 대한 자세한 내용은 디버깅 메시지읽기 및 필터링을 참조하세요.
사용 중인 Windows 버전에 관계없이 KdPrintEx 대신 KdPrintEx 사용하는 것이 좋습니다. KdPrintEx 메시지를 보내는 조건을 제어할 수 있기 때문에 권장됩니다.
반드시 필요한 경우가 아니면 사용자 입력 또는 다른 프로세스에서 문자열을 가져와서 KdPrint전달해서는 안 됩니다. 만들지 않은 문자열을 사용하는 경우 이 문자열이 유효한 형식 문자열이고 형식 코드가 형식 및 수량의 인수 목록과 일치하는지 확인해야 합니다. 가장 좋은 코딩 방법은 모든 Format 문자열이 정적이고 컴파일 시간에 정의되는 것입니다.
Format 문자열의 크기 또는 인수 수에 대한 상한은 없습니다. 그러나 KdPrint 대한 단일 호출은 512바이트의 정보만 전송합니다. DbgPrint 버퍼의 크기도 제한됩니다. 자세한 내용은 DbgPrint 버퍼 및 디버거 참조하세요.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | wdm.h(Wdm.h 포함) |
라이브러리 | NtosKrnl.lib(DbgPrint 참조) |
DLL | NtosKrnl.exe |