Freigeben über


!ndiskd.pendingnbls

Die Erweiterung !ndiskd.pendingnbls zeigt anstehende NBLs (NET_BUFFER_LISTs) an, die sich im Transit befinden.

!ndiskd.pendingnbls [-handle <x>] [-fullstack] [-verbosity <x>] 

Parameter

-Griff
Handle eines NDIS-Miniports, Filters oder Open.

-fullstack
Zeigt die ausstehenden NBLs des gesamten mit dem Handle verbundenen Stapels an.

-Wortfülle
Detaillierungsgrad der Anzeige.

DLL

Ndiskd.dll

Beispiele

!ndiskd.pendingnbls kann das Handle eines NDIS-Miniports, Filters oder Open übergeben werden. Die folgende Reihe von Beispielen verwendet einen Miniport-Handle. Um eine Liste aller Miniports und der zugehörigen Minidriver anzuzeigen, führen Sie die Erweiterung !ndiskd.netadapter ohne Parameter aus. In der folgenden Beispielausgabe suchen Sie nach dem Microsoft Kernel Debug Network Adapter, dessen Handle ffffe00bc3f701a0 lautet. Der Handle des Minidrivers lautet ffffe00bc51b9ae0.

0: kd> !ndiskd.netadapter
    Driver             NetAdapter          Name                                 
    ffffe00bc6e12ae0   ffffe00bc6e4e1a0    Microsoft ISATAP Adapter #2
    ffffe00bc51b9ae0   ffffe00bc3f701a0    Microsoft Kernel Debug Network Adapter

Um die ausstehenden NBLs für einen Miniport zu sehen, setzen Sie einen Haltepunkt auf den SendNetBufferListsHandler des Minidrivers. Verwenden Sie das Handle des Minidrivers, um den Befehl !ndiskd.minidriver -handle -handlers auszuführen, um eine Liste seiner Handler anzuzeigen, und klicken Sie dann auf den Link „bp“ rechts neben dem SendNetBufferListsHandler. Sie können alternativ den Befehl bp -handle in die Befehlszeile eingeben.

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

Nachdem Sie den Haltepunkt im SendNetBufferListsHandler gesetzt haben, geben Sie den Befehl g ein, um den Debugee-Zielrechner laufen zu lassen und den Haltepunkt zu treffen.

0: kd> bp fffff80ae9611870
0: kd> g
Breakpoint 0 hit
fffff80a`e9611870 4053            push    rbx

Nachdem Sie den SendNetBufferListsHandler-Breakpoint des Minidrivers erreicht haben, können Sie nun alle ausstehenden NBLs für den Miniport sehen, indem Sie den Befehl !ndiskd.pendingnbls -handle mit dem Handle des Miniports eingeben.

Hinweis Der Debugee-Zielcomputer in diesem Beispiel lud gerade eine Webseite, als der Haltepunkt erreicht wurde, so dass der Datenverkehr durch den Datenpfad des Miniports floss. Daher hatte sie eine ausstehende NBL zu senden. Selbst nach dem Setzen eines Haltepunkts auf einem oder mehreren NBL-Handlern für den Minitreiber werden möglicherweise keine ausstehenden NBLs angezeigt, wenn im Datenpfad keine Aktivität stattgefunden hat.

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.

Weitere Informationen

Leitfaden für die Entwicklung von Netzwerktreibern

Netzwerkreferenz für Windows Vista und höher

Fehlersuche im Netzwerkstack

NDIS-Erweiterungen (Ndiskd.dll)

!ndiskd.help

NETZ_PUFFER_LISTE

!ndiskd.netadapter

!ndiskd.minidriver

bp, bu, bm (Set Breakpoint)