KdPrint-Makro (wdm.h)
Das KdPrint-Makro sendet eine Nachricht an den Kerneldebugger.
KdPrint sendet eine Nachricht nur, wenn die von Ihnen angegebenen Bedingungen zutreffen. Weitere Informationen finden Sie im abschnitt unten.
Ein Aufruf von KdPrint erfordert doppelte Klammern.
Syntax
void KdPrint(
[in] _x_
);
Parameter
[in] _x_
Gibt einen Zeiger auf die zu druckende Formatzeichenfolge an. Die Formatzeichenfolge unterstützt den größten Teil der Formatspezifikationssyntax im Printf-Stil. Die Unicode-Formatcodes (%C, %S, %lc, %ls, %wc, %ws und %wZ) können jedoch nur mit IRQL = PASSIVE_LEVEL verwendet werden. Die KdPrint-Routine unterstützt keinen der Gleitkommatypen (%f, %e, %E, %g, %G, %a oder %A).
Rückgabewert
Keine
Bemerkungen
KdPrint ist identisch mit der DbgPrint-Routine in Code, der für eine Debugkonfiguration kompiliert wird. Diese Routine hat keine Auswirkungen, wenn sie für eine Releasekonfiguration kompiliert wird. Nur Kernelmodustreiber können die KdPrint-Routine aufrufen.
KdPrint sendet eine Nachricht nur, wenn bestimmte Bedingungen gelten. Insbesondere verhält es sich wie KdPrintEx mit der DEFAULT-Komponente und einer Nachrichtenrelevanzebene von DPFLTR_INFO_LEVEL. Mit anderen Worten, die folgenden beiden Funktionsaufrufe sind identisch:
KdPrint (( Format, arguments ))
KdPrintEx (( DPFLTR_DEFAULT_ID, DPFLTR_INFO_LEVEL, Format, arguments ))
Weitere Informationen zur Nachrichtenfilterung, zur Komponenten- und Nachrichtenrelevanzebene finden Sie unter Lesen und Filtern von Debugnachrichten.
Unabhängig davon, welche Windows-Version Sie verwenden, wird empfohlen, KdPrintEx anstelle von KdPrint zu verwenden, da Sie mit KdPrintEx die Bedingungen steuern können, unter denen die Nachricht gesendet wird.
Sofern dies nicht unbedingt erforderlich ist, sollten Sie keine Zeichenfolge aus einer Benutzereingabe oder einem anderen Prozess abrufen und an KdPrint übergeben. Wenn Sie eine Zeichenfolge verwenden, die Sie nicht erstellt haben, müssen Sie überprüfen, ob es sich um eine gültige Formatzeichenfolge handelt und dass die Formatcodes mit der Argumentliste in Typ und Menge übereinstimmen. Die bewährte Codierungsmethode besteht darin, dass alle Formatzeichenfolgen zur Kompilierzeit statisch und definiert sind.
Es gibt keine Obergrenze für die Größe der Formatzeichenfolge oder die Anzahl von Argumenten. Jeder einzelne Aufruf von KdPrint überträgt jedoch nur 512 Bytes an Informationen. Es gibt auch eine Begrenzung für die Größe des DbgPrint-Puffers . Weitere Informationen finden Sie unter DbgPrint-Puffer und Debugger .
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | wdm.h (einschließen von Wdm.h) |
Bibliothek | NtosKrnl.lib (siehe DbgPrint.) |
DLL | NtosKrnl.exe |