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
!ndiskd Hyperlinks
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).
- !ndiskd.netadapter
- !ndiskd.minidriver
- !ndiskd.rcvqueue
- !ndiskd.protocol
- !ndiskd.mopen
- !ndiskd.filter
- !ndiskd.filterdriver
- !ndiskd.oid
- !ndiskd.ndisrwlock
- !ndiskd.netreport
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.
- !ndiskd.cxadapter
- !ndiskd.netqueue
- !ndiskd.netrb
- !ndiskd.netpacket
- !ndiskd.netfragment
- !ndiskd.nrc
- !ndiskd.netring
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
Verwandte Themen
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.