Compartilhar via


!ndiskd.ndisrwlock

A extensão !ndiskd.ndisrwlock exibe informações sobre uma estrutura de bloqueio NDIS_RW_LOCK_EX.

!ndiskd.ndisrwlock -handle <x>

Parâmetros

-manejar
Obrigatória. Identificador da estrutura de bloqueio.

DLL

Ndiskd.dll

Exemplos

Use a extensão !ndiskd.ndisrwlock se criar seu próprio bloqueio RW e quiser inspecioná-lo. Para obter o identificador de um bloqueio RW, use o comando poi para desreferenciar o endereço do bloqueio do driver. O trecho a seguir mostra como examinar um bloqueio que o protocolo TCIPIP estava usando no momento do exemplo.

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

Para observar o driver usando este bloqueio RW, clique no link "Definir um ponto de interrupção na aquisição/liberação" na parte inferior dos detalhes do bloqueio RW. Depois de definir o ponto de interrupção, digite o comando g para permitir que a máquina de depuração seja executada e chegue no ponto de interrupção.

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

Agora você pode executar novamente o mesmo comando !ndiskd.ndisrwlock para ver se esse bloqueio RW possui uma referência de acesso no modo somente leitura.

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

Confira também

Guia de design para driver de rede

Referência de rede do Windows Vista e posterior

Depuração da pilha de rede

Extensões NDIS (Ndiskd.dll)

!ndiskd.help

NDIS_RW_LOCK_EX