Compartir a través de


Macro KdPrintEx (wdm.h)

La macro KdPrintEx envía una cadena al depurador de kernel si se cumplen las condiciones especificadas.

Una llamada a KdPrintEx requiere paréntesis dobles.

Sintaxis

void KdPrintEx(
   _x_
);

Parámetros

_x_

Especifica argumentos para la cadena de formato, como en printf.

Valor devuelto

Ninguno

Observaciones

KdPrintEx es idéntico a la rutina de dbgPrintEx de que se compila para una configuración de depuración. Esta rutina no tiene ningún efecto en el código compilado para una compilación de versión. Solo los controladores en modo kernel pueden llamar a la rutina de KdPrintEx.

KdPrintEx pasa la cadena especificada al depurador de kernel o no hace nada en absoluto, en función de los valores de ComponentId, Levely las máscaras de filtro de componentes correspondientes. Para obtener más información, consulte lectura y filtrado de mensajes de depuración.

A menos que sea absolutamente necesario, no debe obtener una cadena de la entrada del usuario u otro proceso y pasarla a KdPrintEx. 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 Format sean estáticas y definidas en tiempo de compilación.

No hay ningún límite superior para el tamaño del Formato cadena o el número de argumentos. Sin embargo, cualquier llamada única a KdPrintEx 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 de DbgPrint y el depurador para obtener más información.

Esta rutina se define en ntddk.h y ndis.h; Los identificadores de filtro de componentes se definen en dpfilter.h, ndis.h y wdm.h. Incluya ntddk.h o ndis.h.

Estos son los argumentos:

  • ComponentId [in]

    Especifica el componente que llama a esta rutina. Debe ser uno de los identificadores de filtro de nombre de componente definidos en el archivo de encabezado dpfilter.h. Para evitar mezclar la salida del controlador con la salida de los componentes de Windows, debe usar solo los siguientes valores para ComponentId:

    • DPFLTR_IHVVIDEO_ID

    • DPFLTR_IHVAUDIO_ID

    • DPFLTR_IHVNETWORK_ID

    • DPFLTR_IHVSTREAMING_ID

    • DPFLTR_IHVBUS_ID

    • DPFLTR_IHVDRIVER_ID

  • Formato [in]

    Especifica un puntero a la cadena de formato que se va a imprimir. La cadena format de admite la mayoría de los campos de especificación de formato printf-style . Sin embargo, los códigos de formato Unicode (%C, %S, %lc, %ls, %wc, %wsy %wZ) solo se pueden usar con IRQL = PASSIVE_LEVEL. La rutina de KdPrintEx no admite ninguno de los tipos de punto flotante (%f, %e, %E, %g, %G, %ao %A).

  • Nivel [in]

    Especifica la gravedad de este mensaje. Puede ser cualquier entero de 32 bits. Los valores entre 0 y 31 (ambos incluidos) se tratan de forma diferente a los valores entre 32 y 0xFFFFFFFF. Para obtener más información, consulte lectura y filtrado de mensajes de depuración.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Microsoft Windows XP y versiones posteriores.
de la plataforma de destino de Escritorio
encabezado de wdm.h (incluya Wdm.h)
biblioteca de NtosKrnl.lib (vea DbgPrintEx).)
DLL de NtosKrnl.exe

Consulte también

dbgPrint

DbgPrintEx

KdPrint