!ndiskd.ndisrwlock
!ndiskd.ndisrwlock 확장은 NDIS_RW_LOCK_EX 잠금 구조에 대한 정보를 표시합니다.
!ndiskd.ndisrwlock -handle <x>
매개 변수
-핸들
필수입니다. 잠금 구조의 핸들입니다.
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