Macro KdPrint (wdm.h)
A macro KdPrint envia uma mensagem para o depurador de kernel.
KdPrint envia 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 formatar dá suporte à maior parte da sinta xe de especificação de formato deestilo . No entanto, os códigos de formato Unicode (%C, %S, %lc, %ls, %wc, %wse %wZ) só podem ser usados com IRQL = PASSIVE_LEVEL. A rotina de KdPrint não dá suporte a nenhum dos tipos de ponto flutuante (%f, %e, %E, %g, %G, %aou %A).
Valor de retorno
Nenhum
Observações
KdPrint é idêntico à rotina de DbgPrint no código compilado para uma configuração de depuração. Essa rotina não terá efeito se compilada para uma configuração de versão. Somente drivers no modo kernel podem chamar a rotina de do KdPrint.
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 de Mensagens de Depuração de Leitura e Filtragem.
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 nas 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 em tipo e quantidade. A melhor prática de codificação é que todas as cadeias de caracteres formatar 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. Há também um limite para o tamanho do buffer de DbgPrint. Consulte o buffer DbgPrint e o depurador para obter detalhes.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | wdm.h (inclua Wdm.h) |
biblioteca | NtosKrnl.lib (Consulte DbgPrint.) |
de DLL | NtosKrnl.exe |