Partager via


!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

Débogage de la pile réseau

Extensions NDIS (Ndiskd.dll)

!ndiskd.help

NET_BUFFER_LIST

!ndiskd.netadapter

!ndiskd.minidriver

bp, bu, bm (Définir un point d’arrêt)