Freigeben über


NDIS-Erweiterungen (Ndiskd.dll)

In diesem Abschnitt werden Befehle beschrieben, die in !ndiskd verfügbar sind, eine Debuggererweiterung, die für das Debuggen von NDIS-Treibern (Network Device Interface Specification) nützlich ist. Mit diesen Befehlen können Netzwerktreiberentwickler ein größeres Bild des Windows-Netzwerkstapels und die Interaktion ihrer Treiber sehen. Mit !ndiskd können Sie den Status aller Netzwerkadapter (!ndiskd.netadapter), ein visuelles Diagramm des Netzwerkstapels des Computers (!ndiskd.netreport), ein Protokoll des Datenverkehrs auf den Netzwerkadaptern (!ndiskd.nbllog) oder eine Liste aller ausstehenden OID-Anforderungen (!ndiskd.oid) anzeigen.

Die Befehle finden Sie in Ndiskd.dll. Um die Symbole zu laden, geben Sie im Debugger-Befehlsfenster ".reload /f ndis.sys " ein. Um zu bestätigen, dass die Symbole erfolgreich geladen wurden, verwenden Sie die Erweiterung !lmi ndis , und suchen Sie nach dem Ausdruck "Symbole, die erfolgreich geladen wurden" nach unten. Ihre Ausgabe sollte etwa folgendem Beispiel entsprechen:

0: kd> !lmi ndis
Loaded Module Info: [ndis] 
         Module: ndis
   Base Address: fffff80174570000
     Image Name: ndis.sys
   Machine Type: 34404 (X64)
     Time Stamp: 938f9f4e (This is a reproducible build file hash, not a true timestamp)
           Size: 16f000
       CheckSum: 167a05
Characteristics: 22  
Debug Data Dirs: Type  Size     VA  Pointer
             CODEVIEW    21, d4060,   d2c60 RSDS - GUID: {9CC82DBE-96A0-773D-29E0-62B698C4C3A8}
               Age: 1, Pdb: ndis.pdb
                 POGO   988, d4084,   d2c84 [Data not mapped]
                REPRO    24, d4a0c,   d360c Reproducible build[Data not mapped]
     Image Type: MEMORY   - Image read successfully from loaded memory.
    Symbol Type: PDB      - Symbols loaded successfully from symbol server.
                 C:\ProgramData\Dbg\sym\ndis.pdb\9CC82DBE96A0773D29E062B698C4C3A81\ndis.pdb
    Load Report: public symbols , not source indexed 
                 C:\ProgramData\Dbg\sym\ndis.pdb\9CC82DBE96A0773D29E062B698C4C3A81\ndis.pdb

Viele der Erweiterungsbefehle in !ndiskd enthalten Links in den Ergebnissen, die im Debuggerfenster angezeigt werden. Der Text für diese Links wurde in den Beispielen beibehalten, um das genaue Format zu veranschaulichen, das Sie sehen werden, wenn Sie den Befehl auf Ihrem Debugee-Computer ausführen. Einige beispiele beziehen sich auch explizit auf das Klicken auf diese Links, sodass Sie typische Verwendungsflüsse verstehen können, obwohl die Beispiele auch die alternativen Befehlszeilenformen der einzelnen Befehle bereitstellen.

Allgemeine Parameter

Alle !ndiskd-Befehle unterstützen die folgenden generischen Parameter.

-wortreich
Zeigt zusätzliche Details an.

-knapp
Unterdrückt einige Textbausteine.

-statisch
Unterdrückt einige interaktive Ausgaben.

-dml 0|1
Steuert, ob die DML-Ausgabe (Debuggermarkupsprache) aktiviert ist.

-unicode 0|1
Steuert, ob die Unicode-Zeichenausgabe zulässig ist.

-Einzug N
Verwendet N Leerzeichen pro Einzugsebene.

-Kraft
Überschreibt einige Sicherheitsüberprüfungen für Remotedaten.

-tracedata
Zeigt ausführliche Ablaufverfolgungsmeldungen zum Debuggen von !ndiskd selbst an.

Net Adapter, NDIS-Treiber und allgemeine Befehle

Die folgenden Befehle zeigen Informationen zu den Netzwerkadaptern, Netzwerktreibern und allgemeinen Befehlen des Netzwerkstapels an (z. B. rcvqueues, opens, filters, OIDs und RW-Sperren).

Befehle NET_BUFFER_LIST und NET_BUFFER

In den folgenden Befehlen werden Informationen zu NET_BUFFER_LIST und NET_BUFFER Strukturen angezeigt.

NetAdapterCx-Befehle

In den folgenden Befehlen werden Informationen zur WDF-Klassenerweiterung NetAdapterCx der Netzwerkadapterklasse sowie die zugehörigen Strukturen, NET_RING_BUFFER und NET_PACKET angezeigt.

Netzwerkschnittstellenbefehle

Die folgenden Befehle zeigen Informationen zu Netzwerkschnittstellen an.

befehle NDIS_PACKET

In den folgenden Befehlen werden Informationen zu NDIS_PACKET Strukturen angezeigt. Diese Erweiterungen gelten für ältere NDIS 5.x-Treiber. Die Struktur NDIS_PACKET und die damit verbundene Architektur sind veraltet.

CoNDIS-Befehle

Die folgenden Befehle zeigen Informationen zu Verbindungsorientierten NDIS-Verbindungen an.

NDIS-Debuggingbefehle

Die folgenden Befehle zeigen Informationen zu NDIS-Refcounts, Ereignisprotokollen, Stapelüberwachungen und Debugablaufverfolgungen an.

WDI-Befehle

Die folgenden Befehle zeigen Informationen zu WDI Miniport-Treibern an.

NDIS- und !ndiskd-Informationsbefehle

In den folgenden Befehlen werden Informationen zu NDIS.sys und ndiskd.dll angezeigt.

Verschiedene Befehle

Weitere Informationen zum Entwerfen von NDIS-Treibern für Windows Vista und höher finden Sie im Entwurfshandbuch für Netzwerktreiber.

Weitere Informationen zur Referenz für NDIS-Treiber für Windows Vista und höher finden Sie in der Windows Vista- und späteren Netzwerkreferenz.

Eine Demonstration der Verwendung der !ndiskd-Debuggerbefehle zum Debuggen des Netzwerkstapels finden Sie im Video zum Debuggen des Netzwerkstapelkanals 9.