Freigeben über


!ndiskd.ndisrwlock

Die Erweiterung !ndiskd.ndisrwlock zeigt Informationen über eine NDIS_RW_LOCK_EX-Sperrstruktur an.

!ndiskd.ndisrwlock -handle <x>

Parameter

-Griff
Erforderlich. Handle der Sperrenstruktur.

DLL

Ndiskd.dll

Beispiele

Verwenden Sie die Erweiterung !ndiskd.ndisrwlock, wenn Sie Ihre eigene RW-Sperre erstellen und diese überprüfen möchten. Um das Handle für eine RW-Sperre zu erhalten, verwenden Sie den Befehl poi, um die Adresse der Sperre Ihres Treibers zu derefenzieren. Der folgende Ausschnitt zeigt, wie man sich eine Sperre ansehen kann, die das TCIPIP-Protokoll zum Zeitpunkt des Beispiels verwendet hat.

0: kd> !ndiskd.ndisrwlock poi(tcpip!gAleHashtableLock)


NDIS READ-WRITE LOCK

    Allocated by       [NDIS generic object]
    Exclusive access   Not acquired
    Read-only access   0 references

    Set a breakpoint on acquire/release

Um den Treiber, der diese RW-Sperre verwendet, zu beobachten, klicken Sie auf den Link „Set a breakpoint on acquire/release“ unten in den Details der RW-Sperre. Nachdem Sie den Haltepunkt gesetzt haben, geben Sie den Befehl g ein, um die Debugging-Maschine laufen zu lassen und den Haltepunkt zu treffen.

0: kd> ba r4 ffffe00bc3fc22f8
0: kd> g
Breakpoint 0 hit
nt!KeTestSpinLock+0x3:
fffff802`0d69eb53 4885c0          test    rax,rax

Jetzt können Sie denselben Befehl !ndiskd.ndisrwlock erneut ausführen, um zu sehen, dass diese RW-Sperre einen Nur-Lese-Zugriffsverweis hat.

0: kd> !ndiskd.ndisrwlock poi(tcpip!gAleHashtableLock)


NDIS READ-WRITE LOCK

    Allocated by       [NDIS generic object]
    Exclusive access   Not acquired
    Read-only access   1 reference

    Set a breakpoint on acquire/release

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

NDIS_RW_LOCK_EX