Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La extensión !ndiskd.pendingnbls muestra NCL pendientes (NET_BUFFER_LISTs) que están en tránsito.
!ndiskd.pendingnbls [-handle <x>] [-fullstack] [-verbosity <x>]
Parámetros
-asa
Identificador de una miniporte, filtro o apertura de NDIS.
-fullstack
Muestra las NCL pendientes de toda la pila asociada al identificador.
-verbosidad
Nivel de detalle que se va a mostrar.
DLL
Ndiskd.dll
Examples
!ndiskd.pendingnbls se puede pasar el identificador de un miniporte, filtro o apertura de NDIS. En la siguiente serie de ejemplos se usa un controlador de minipuerto. Para ver una lista de todos los miniportes y sus minidrivers asociados, ejecute la extensión !ndiskd.netadapter sin parámetros. En la siguiente salida de ejemplo, busque el adaptador de red de depuración de kernel de Microsoft, cuyo identificador es ffffe00bc3f701a0. Su controlador de minidriver es ffffe00bc51b9ae0.
0: kd> !ndiskd.netadapter
Driver NetAdapter Name
ffffe00bc6e12ae0 ffffe00bc6e4e1a0 Microsoft ISATAP Adapter #2
ffffe00bc51b9ae0 ffffe00bc3f701a0 Microsoft Kernel Debug Network Adapter
Para ver las NCL pendientes para un minipuerto, establezca un punto de interrupción en el SendNetBufferListsHandler de su minidriver. Use el controlador del minidriver para ejecutar el comando !ndiskd.minidriver -handle -handlers para ver una lista de sus controladores y, a continuación, haga clic en el vínculo "bp" situado a la derecha de SendNetBufferListsHandler. También puede escribir el comando bp -handle en la línea de comandos.
0: kd> !ndiskd.minidriver ffffe00bc51b9ae0 -handlers
HANDLERS
NDIS Handler Function pointer Symbol (if available)
InitializeHandlerEx fffff80ae9618230 bp
SetOptionsHandler fffff80ae9612800 bp
HaltHandlerEx fffff80ae9618040 bp
ShutdownHandlerEx fffff80ae96122c0 bp
CheckForHangHandlerEx fffff80ae9612810 bp
ResetHandlerEx fffff80ae9612f70 bp
PauseHandler fffff80ae9618000 bp
RestartHandler fffff80ae9618940 bp
OidRequestHandler fffff80ae9611c90 bp
CancelOidRequestHandler fffff80ae96122c0 bp
DirectOidRequestHandler [None]
CancelDirectOidRequestHandler [None]
DevicePnPEventNotifyHandler fffff80ae96189a0 bp
SendNetBufferListsHandler fffff80ae9611870 bp
ReturnNetBufferListsHandler fffff80ae9611b50 bp
CancelSendHandler fffff80ae96122c0 bp
Después de establecer el punto de interrupción en SendNetBufferListsHandler, escriba el comando g para permitir que la máquina de destino de desbugee se ejecute y presione el punto de interrupción.
0: kd> bp fffff80ae9611870
0: kd> g
Breakpoint 0 hit
fffff80a`e9611870 4053 push rbx
Ahora, después de alcanzar el punto de interrupción SendNetBufferListsHandler del minidriver, puede ver los NBL pendientes para el miniporte escribiendo el comando !ndiskd.pendingnbls -handle con el identificador de miniporte.
Nota La máquina de destino de debugee de este ejemplo estaba cargando una página web cuando alcanzaba el punto de interrupción, por lo que el tráfico fluyeba a través de la ruta de datos del miniport. Por lo tanto, tenía un NBL pendiente para enviar. Incluso después de establecer un punto de interrupción en uno o varios de los controladores NBL para el minidriver, es posible que no vea ninguna NCL pendiente si no había ninguna actividad en la ruta de datos.
0: kd> !ndiskd.pendingnbls ffffe00bc3f701a0
PHASE 1/3: Found 20 NBL pool(s).
PHASE 2/3: Found 342 freed NBL(s).
Pending Nbl Currently held by
ffffe00bc5545c60 ffffe00bc3f701a0 - Microsoft Kernel Debug Network Adapter [NetAdapter]
PHASE 3/3: Found 1 pending NBL(s) of 4817 total NBL(s).
Search complete.
Consulte también
Guía de diseño de controladores de red)
Referencia de redes de Windows Vista y versiones posteriores