Compartilhar via


Macro KdPrint (wdm.h)

A macro KdPrint envia uma mensagem para o depurador de kernel.

O KdPrint enviará uma mensagem somente se as condições especificadas forem aplicadas. Mais informações na seção abaixo.

Uma chamada para KdPrint requer parênteses duplos.

Sintaxe

void KdPrint(
  [in]  _x_
);

Parâmetros

[in] _x_

Especifica um ponteiro para a cadeia de caracteres de formato a ser impressa. A cadeia de caracteres Format dá suporte à maior parte da sintaxe de especificação de formato de estilo printf. No entanto, os códigos de formato Unicode (%C, %S, %lc, %ls, %wc, %ws e %wZ) só podem ser usados com IRQL = PASSIVE_LEVEL. A rotina KdPrint não dá suporte a nenhum dos tipos de ponto flutuante (%f, %e, %E, %g, %G, %a ou %A).

Retornar valor

Nenhum

Comentários

KdPrint é idêntico à rotina DbgPrint no código compilado para uma configuração de depuração. Essa rotina não terá efeito se for compilada para uma configuração de versão. Somente drivers no modo kernel podem chamar a rotina KdPrint .

O KdPrint envia uma mensagem somente se determinadas condições se aplicarem. Especificamente, ele se comporta como KdPrintEx com o componente DEFAULT e um nível de importância de mensagem de DPFLTR_INFO_LEVEL. Em outras palavras, as duas chamadas de função a seguir são idênticas:

KdPrint (( Format, arguments ))

KdPrintEx (( DPFLTR_DEFAULT_ID, DPFLTR_INFO_LEVEL, Format, arguments ))

Para obter mais informações sobre filtragem de mensagens, componentes e nível de importância da mensagem, consulte Leitura e filtragem de mensagens de depuração.

Independentemente de qual versão do Windows você está usando, é recomendável que você use KdPrintEx em vez de KdPrint, já que kdPrintEx permite controlar as condições sob as quais a mensagem é enviada.

A menos que seja absolutamente necessário, você não deve obter uma cadeia de caracteres da entrada do usuário ou de outro processo e passá-la para KdPrint. Se você usar uma cadeia de caracteres que não criou, deverá verificar se essa é uma cadeia de caracteres de formato válida e se os códigos de formato correspondem à lista de argumentos no tipo e na quantidade. A melhor prática de codificação é que todas as cadeias de caracteres de formato sejam estáticas e definidas em tempo de compilação.

Não há limite superior para o tamanho da cadeia de caracteres Formatar ou o número de argumentos. No entanto, qualquer chamada única para KdPrint transmitirá apenas 512 bytes de informações. Também há um limite para o tamanho do buffer DbgPrint . Consulte O Buffer DbgPrint e o Depurador para obter detalhes.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (inclua Wdm.h)
Biblioteca NtosKrnl.lib (consulte DbgPrint.)
DLL NtosKrnl.exe

Confira também

DbgPrint

DbgPrintEx

KdPrintEx