Macro KdPrint (wdm.h)
La macro KdPrint envía un mensaje al depurador de kernel.
KdPrint envía un mensaje solo si se aplican las condiciones especificadas. Más información en la sección siguiente.
Una llamada a KdPrint requiere paréntesis dobles.
Sintaxis
void KdPrint(
[in] _x_
);
Parámetros
[in] _x_
Especifica un puntero a la cadena de formato que se va a imprimir. La cadena Format admite la mayoría de la sintaxis de especificación de formato de estiloprintf. Sin embargo, los códigos de formato Unicode (%C, %S, %lc, %ls, %wc, %ws y %wZ) solo se pueden usar con IRQL = PASSIVE_LEVEL. La rutina KdPrint no admite ninguno de los tipos de punto flotante (%f, %e, %E, %g, %G, %a o %A).
Valor devuelto
None
Observaciones
KdPrint es idéntico a la rutina DbgPrint en el código que se compila para una configuración de depuración. Esta rutina no tiene ningún efecto si se compila para una configuración de versión. Solo los controladores en modo kernel pueden llamar a la rutina KdPrint .
KdPrint envía un mensaje solo si se aplican determinadas condiciones. En concreto, se comporta como KdPrintEx con el componente DEFAULT y un nivel de importancia de mensaje de DPFLTR_INFO_LEVEL. En otras palabras, las dos llamadas de función siguientes son idénticas:
KdPrint (( Format, arguments ))
KdPrintEx (( DPFLTR_DEFAULT_ID, DPFLTR_INFO_LEVEL, Format, arguments ))
Para obtener más información sobre el filtrado de mensajes, los componentes y el nivel de importancia del mensaje, consulte Lectura y filtrado de mensajes de depuración.
Independientemente de la versión de Windows que use, se recomienda usar KdPrintEx en lugar de KdPrint, ya que KdPrintEx permite controlar las condiciones en las que se envía el mensaje.
A menos que sea absolutamente necesario, no debe obtener una cadena de la entrada del usuario u otro proceso y pasarla a KdPrint. Si usa una cadena que no creó, debe comprobar que se trata de una cadena de formato válida y que los códigos de formato coinciden con la lista de argumentos en tipo y cantidad. El procedimiento de codificación recomendado es que todas las cadenas de formato sean estáticas y definidas en tiempo de compilación.
No hay ningún límite superior para el tamaño de la cadena Format o el número de argumentos. Sin embargo, cualquier llamada única a KdPrint solo transmitirá 512 bytes de información. También hay un límite para el tamaño del búfer dbgPrint . Consulte El búfer dbgPrint y el depurador para obtener más información.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | wdm.h (incluya Wdm.h) |
Library | NtosKrnl.lib (vea DbgPrint).) |
Archivo DLL | NtosKrnl.exe |