Macro KdPrint (wdm.h)
La macro KdPrint invia un messaggio al debugger del kernel.
KdPrint invia un messaggio solo se si applicano le condizioni specificate. Altre informazioni nella sezione seguente.
Una chiamata a KdPrint richiede doppie parentesi.
Sintassi
void KdPrint(
[in] _x_
);
Parametri
[in] _x_
Specifica un puntatore alla stringa di formato da stampare. La stringa Format supporta la maggior parte della sintassi delle specifiche di formato di tipoprintf. Tuttavia, i codici di formato Unicode (%C, %S, %lc, %ls, %wc, %ws e %wZ) possono essere usati solo con IRQL = PASSIVE_LEVEL. La routine KdPrint non supporta alcun tipo a virgola mobile (%f, %e, %E, %g, %G, %a o %A).
Valore restituito
nessuno
Osservazioni
KdPrint è identico alla routine DbgPrint nel codice compilato per una configurazione di debug. Questa routine non ha alcun effetto se compilata per una configurazione di versione. Solo i driver in modalità kernel possono chiamare la routine KdPrint .
KdPrint invia un messaggio solo se si applicano determinate condizioni. In particolare, si comporta come KdPrintEx con il componente DEFAULT e un livello di importanza del messaggio di DPFLTR_INFO_LEVEL. In altre parole, le due chiamate di funzione seguenti sono identiche:
KdPrint (( Format, arguments ))
KdPrintEx (( DPFLTR_DEFAULT_ID, DPFLTR_INFO_LEVEL, Format, arguments ))
Per altre informazioni sul filtro dei messaggi, sui componenti e sul livello di importanza dei messaggi, vedere Lettura e filtro dei messaggi di debug.
Indipendentemente dalla versione di Windows in uso, è consigliabile usare KdPrintEx anziché KdPrintEx, poiché KdPrintEx consente di controllare le condizioni in cui viene inviato il messaggio.
A meno che non sia assolutamente necessario, non è consigliabile ottenere una stringa dall'input dell'utente o da un altro processo e passarla a KdPrint. Se si usa una stringa che non è stata creata, è necessario verificare che si tratta di una stringa di formato valida e che i codici di formato corrispondano all'elenco di argomenti di tipo e quantità. La procedura consigliata per la codifica è che tutte le stringhe di formato siano statiche e definite in fase di compilazione.
Non esiste alcun limite massimo per la dimensione della stringa Format o il numero di argomenti. Tuttavia, qualsiasi singola chiamata a KdPrint trasmetterà solo 512 byte di informazioni. Esiste anche un limite alle dimensioni del buffer DbgPrint . Per informazioni dettagliate , vedere Buffer DbgPrint e debugger .
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h) |
Libreria | NtosKrnl.lib (vedere DbgPrint.) |
DLL | NtosKrnl.exe |