DbgPrint 함수(wdm.h)
DbgPrint 루틴은 커널 디버거에 메시지를 보냅니다.
Windows Vista 이상 버전의 Windows DbgPrint는 지정한 조건이 적용되는 경우에만 메시지를 보냅니다(자세한 내용은 설명 섹션 참조).
구문
ULONG DbgPrint(
[in] PCSTR Format,
...
);
매개 변수
[in] Format
인쇄할 서식 문자열에 대한 포인터를 지정합니다. Format 문자열은 대부분의 printf 스타일 형식 사양 필드를 지원합니다. 그러나 유니코드 형식 코드(%C, %S, %lc, %ls, %wc, %ws 및 %wZ)는 IRQL = PASSIVE_LEVEL 함께만 사용할 수 있습니다. DbgPrint 루틴은 부동 소수점 형식(%f, %e, %E, %g, %G, %a 또는 %A)을 지원하지 않습니다.
...
printf와 같이 형식 문자열에 대한 인수를 지정합니다.
반환 값
성공하면 DbgPrint 는 NTSTATUS 코드 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 오류 코드를 반환합니다.
설명
DbgPrint 및 DbgPrintEx는 IRQL=DIRQL<에서 호출할 수 있습니다. 그러나 유니코드 형식 코드(%wc 및 %ws)는 IRQL=PASSIVE_LEVEL만 사용할 수 있습니다. 또한 디버거는 API(Interprocess 인터럽트)를 사용하여 다른 프로세서와 통신하기 때문에 IRQLDIRQL>에서 DbgPrint를 호출하면 교착 상태가 발생할 수 있습니다.
커널 모드 드라이버만 DbgPrint 루틴을 호출할 수 있습니다.
Microsoft Windows Server 2003 및 이전 버전의 Windows DbgPrint 루틴은 커널 디버거에 메시지를 보냅니다. Windows Vista 이상 버전의 Windows DbgPrint는 특정 조건이 적용되는 경우에만 메시지를 보냅니다. 특히 기본 구성 요소 및 메시지 중요도 수준의 DPFLTR_INFO_LEVEL DbgPrintEx 루틴처럼 동작합니다. 즉, 다음 두 함수 호출은 동일합니다.
DbgPrint ( Format, arguments )
DbgPrintEx ( DPFLTR_DEFAULT_ID, DPFLTR_INFO_LEVEL, Format, arguments )
메시지 필터링, 구성 요소 및 메시지 중요도 수준에 대한 자세한 내용은 메시지 읽기 및 필터링 디버깅을 참조하세요.
형식 문자열의 크기 또는 인수 수에 대한 상한은 없습니다. 그러나 DbgPrint 에 대한 단일 호출은 512바이트의 정보만 전송합니다. DbgPrint 버퍼의 크기도 제한됩니다. 자세한 내용은 DbgPrint 버퍼 및 디버거 를 참조하세요.
요구 사항
| 지원되는 최소 클라이언트 | Microsoft Windows 2000 이상에서 사용할 수 있습니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | wdm.h(Wdm.h 포함) |
| 라이브러리 | NtDll.lib(사용자 모드); NtosKrnl.lib(커널 모드) |
| DLL | NtDll.dll(사용자 모드); NtosKrnl.exe(커널 모드) |
| IRQL | <= DIRQL(설명 섹션 참조) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기