Поделиться через


!ndiskd.ndisrwlock

Расширение !ndiskd.ndisrwlock отображает сведения о структуре блокировки NDIS_RW_LOCK_EX .

!ndiskd.ndisrwlock -handle <x>

Параметры

-ручка
Обязательный. Дескриптор структуры блокировки.

DLL-библиотеки

Ndiskd.dll

Примеры

Используйте расширение !ndiskd.ndisrwlock, если вы создаете собственную блокировку RW и хотите проверить ее. Чтобы получить дескриптор блокировки 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