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 를 사용하면 메시지가 전송되는 조건을 제어할 수 있으므로 KdPrint 대신 KdPrintEx 를 사용하는 것이 좋습니다.

반드시 필요한 경우가 아니면 사용자 입력 또는 다른 프로세스에서 문자열을 가져와 KdPrint 에 전달하면 안 됩니다. 만들지 않은 문자열을 사용하는 경우 이 문자열이 유효한 형식 문자열이고 형식 코드가 형식 및 수량의 인수 목록과 일치하는지 확인해야 합니다. 가장 좋은 코딩 방법은 컴파일 시간에 모든 형식 문자열이 정적이고 정의되는 것입니다.

형식 문자열의 크기 또는 인수 수에 대한 상한은 없습니다. 그러나 KdPrint 에 대한 단일 호출은 512바이트의 정보만 전송합니다. DbgPrint 버퍼의 크기도 제한됩니다. 자세한 내용은 DbgPrint 버퍼 및 디버거 를 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Microsoft Windows 2000 이상에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 wdm.h(Wdm.h 포함)
라이브러리 NtosKrnl.lib(DbgPrint 참조)
DLL NtosKrnl.exe

참고 항목

DbgPrint

DbgPrintEx

KdPrintEx