Udostępnij przez


!ndiskd.pendingnbls

Rozszerzenie !ndiskd.pendingnbls wyświetla oczekujące listy NBLs (NET_BUFFER_LISTs), które są przesyłane.

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

Parametry

-uchwyt
Obsługa miniportu, filtrowania lub otwierania NDIS.

-fullstack
Pokazuje oczekujące listy NBLs z całego stosu skojarzonego z uchwytem.

-Szczegółowości
Poziom szczegółowości do wyświetlenia.

DLL

Ndiskd.dll

Przykłady

!ndiskd.pendingnbls można przekazać uchwyt miniportu NDIS, filtru lub otwarcia. W poniższej serii przykładów użyto dojścia miniportu. Aby wyświetlić listę wszystkich miniportów i skojarzonych z nimi minidriverów, uruchom rozszerzenie !ndiskd.netadapter bez parametrów. W poniższych przykładowych danych wyjściowych wyszukaj kartę sieciową debugowania jądra firmy Microsoft, której dojście to ffffe00bc3f701a0. Uchwyt minidrivera jest ffffe00bc51b9ae0.

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

Aby wyświetlić oczekujące listy NBLs dla miniportu, ustaw punkt przerwania w programie SendNetBufferListsHandler swojego minidrivera. Użyj uchwytu minidrivera, aby uruchomić polecenie !ndiskd.minidriver -handle -handlers , aby wyświetlić listę jego procedur obsługi, a następnie kliknij link "bp" z prawej strony programu SendNetBufferListsHandler. Alternatywnie możesz wprowadzić polecenie bp -handle w wierszu polecenia.

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

Po ustawieniu punktu przerwania w programie SendNetBufferListsHandler wprowadź polecenie g , aby umożliwić uruchomienie maszyny docelowej debugowania i przejście do punktu przerwania.

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

Teraz po naciśnięciu punktu przerwania SendNetBufferListsHandler minidrivera można zobaczyć wszystkie oczekujące listy NBLs dla miniportu, wprowadzając polecenie !ndiskd.pendingnbls -handle za pomocą uchwytu miniportu.

Nuta Maszyna docelowa debugowania w tym przykładzie ładowała stronę internetową po osiągnięciu punktu przerwania, więc ruch przepływał przez ścieżkę danych miniportu. W związku z tym miał oczekujące NBL do wysłania. Nawet po ustawieniu punktu przerwania na co najmniej jednym z programów obsługi NBL dla minidriver może nie być widoczny żadnych oczekujących list NBLs, jeśli w ścieżce danych nie było żadnych działań.

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.

Zobacz także

Przewodnik projektowania sterowników sieciowych)

Dokumentacja dotycząca sieci systemu Windows Vista i nowszych

Debugowanie stosu sieciowego

Rozszerzenia NDIS (Ndiskd.dll)

!ndiskd.help

NET_BUFFER_LIST

!ndiskd.netadapter

!ndiskd.minidriver

bp, bu, bm (Ustaw punkt przerwania)