!ndiskd.ndisrwlock

!ndiskd.ndisrwlock 扩展显示有关 NDIS_RW_LOCK_EX 锁结构的信息。

!ndiskd.ndisrwlock -handle <x>

参数

-handle
必需。 锁结构的句柄。

DLL

Ndiskd.dll

示例

如果创建自己的 RW 锁,并且想要检查它,请使用 !ndiskd.ndisrwlock 扩展。 若要获取 RW 锁的句柄,请使用 poi 命令取消引用驱动程序锁的地址。 以下代码片段显示如何查看 TCIPIP 协议在本示例中使用的锁。

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

要观察使用此 RW 锁的驱动程序,请单击 RW 锁详细信息底部的“在获取/释放时设置断点”链接。 设置断点后,输入 g 命令,让调试对象计算机运行并达到断点。

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

现在,可以重新运行相同的 !ndiskd.ndisrwlock 命令,以查看此 RW 锁是否具有一个只读访问引用。

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

另请参阅

网络驱动程序设计指南

Windows Vista 和更高版本的网络参考

调试网络堆栈

NDIS 扩展(Ndiskd.dll)

!ndiskd.help

NDIS_RW_LOCK_EX