!ndiskd.pendingnbls
L’extension !ndiskd.pendingnbls affiche les listes NBL en attente (NET_BUFFER_LISTs) qui sont en transit.
!ndiskd.pendingnbls [-handle <x>] [-fullstack] [-verbosity <x>]
Paramètres
-manche
Handle d’un miniport NDIS, d’un filtre ou ouvert.
-fullstack
Affiche les listes NBL en attente de l'intégralité de la pile associée au handle.
-verbosité
Niveau de détail à afficher.
DLL
Ndiskd.dll
Exemples
!ndiskd.pendingnbls peut être le handle d’un miniport NDIS, d’un filtre ou ouvert. La série d’exemples suivante utilise un handle miniport. Pour afficher la liste de tous les miniports et leurs minipilotes associés, exécutez l’extension !ndiskd.netadapter sans paramètres. Dans l’exemple de sortie suivant, recherchez la carte réseau de débogage du noyau Microsoft, dont le handle est ffffe00bc3f701a0. Le handle de son minipilote est ffffe00bc51b9ae0.
0: kd> !ndiskd.netadapter
Driver NetAdapter Name
ffffe00bc6e12ae0 ffffe00bc6e4e1a0 Microsoft ISATAP Adapter #2
ffffe00bc51b9ae0 ffffe00bc3f701a0 Microsoft Kernel Debug Network Adapter
Pour afficher les listes NBL en attente pour un miniport, définissez un point d’arrêt sur le gestionnaire SendNetBufferListsHandler de son minipilote. Utilisez le handle du minipilote pour exécuter la commande !ndiskd.minidriver -handle -handlers pour afficher la liste de ses gestionnaires, puis cliquez sur le lien « bp » à droite de SendNetBufferListsHandler. Vous pouvez également entrer la commande bp -handle dans la ligne de commande.
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
Après avoir défini le point d’arrêt sur le gestionnaire SendNetBufferListsHandler, entrez la commande g pour laisser la machine cible de débogage s’exécuter et atteindre le point d’arrêt.
0: kd> bp fffff80ae9611870
0: kd> g
Breakpoint 0 hit
fffff80a`e9611870 4053 push rbx
Puis, après avoir atteint le point d’arrêt SendNetBufferListsHandler du minipilote, vous pouvez consulter toutes les listes NBL en attente pour le miniport en entrant la commande !ndiskd.pendingnbls -handle avec le handle du miniport.
Remarque La machine cible de débogage de cet exemple chargeait une page web lorsqu’elle a atteint le point d’arrêt, de sorte que le trafic transitait par le chemin de données du miniport. Par conséquent, elle avait une NBL en attente à envoyer. Même après avoir défini un point d’arrêt sur un ou plusieurs gestionnaires NBL pour le minipilote, il se peut qu'aucune liste NBL en attente ne s'affiche s’il n’y avait aucune activité dans le chemin de données.
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.
Voir aussi
Guide de conception des pilotes réseau
Documentation de référence sur la mise en réseau de Windows Vista et versions ultérieures