kd> ? netio!NsiNmpList
Evaluate expression: -6184740751232 = fffffa60`00b97880
kd> dt _LIST_ENTRY fffffa60`00b97880
nt!_LIST_ENTRY
[ 0xfffffa60`00b974e8 - 0xfffffa80`03240408 ]
+0x000 Flink : 0xfffffa60`00b974e8 _LIST_ENTRY [ 0xfffffa80`0168e018 - 0xfffffa60`00b97880 ]
+0x008 Blink : 0xfffffa80`03240408 _LIST_ENTRY [ 0xfffffa60`00b97880 - 0xfffffa80`018ec738 ]
kd> dp fffffa60`00b974e8
fffffa60`00b974e8 fffffa80`0168e018 fffffa60`00b97880
fffffa60`00b974f8 fffffa60`00b8b530 00000000`00000001
fffffa60`00b97508 00000000`00000000 fffffa60`00b8ee28
fffffa60`00b97518 00000000`00000000 00000000`00000000
fffffa60`00b97528 00000000`00000000 00000001`000e0002
fffffa60`00b97538 fffffa60`00b97538 fffffa60`00b97538
fffffa60`00b97548 00000000`00000000 00000000`00000000
fffffa60`00b97558 00000000`00000000 00000000`00000100
kd> u fffffa60`00b8b530 l1
NETIO!NPI_MS_NSI_MODULEID:
fffffa60`00b8b530 1800 sbb byte ptr [rax],al
kd> u fffffa60`00b8ee28 l1
NETIO!NsipObjectProviderDispatch:
fffffa60`00b8ee28 0000 add byte ptr [rax],al
It seems that first 2 pointers are LIST_ENTRY. Lets see some more samples:
kd> !pool fffffa80`0168e018 2
Pool page fffffa800168e018 region is Nonpaged pool
*fffffa800168e000 size: d0 previous size: 0 (Allocated) *NMpc
Owning component : Unknown (update pooltag.txt)kd> dp fffffa80`0168e018 fffffa80`0168e018 fffffa80`0189f3f8 fffffa60`00b974e8
fffffa80`0168e028 fffffa60`00b8b548 00000000`00000002
fffffa80`0168e038 fffffa80`0168d270 fffffa60`00b8ffc0
fffffa80`0168e048 00000000`00000000 fffffa80`0168d30c
fffffa80`0168e058 00000000`00000000 00000001`000e0002
fffffa80`0168e068 fffffa80`0168e068 fffffa80`0168e068
fffffa80`0168e078 00000000`00000000 00000000`00000000
fffffa80`0168e088 00000000`00000000 00000000`00000100
kd> u fffffa60`00b8b548 l1
NETIO!NPI_MS_NMR_MODULEID:
fffffa60`00b8b548 1800 sbb byte ptr [rax],alkd> !pool fffffa80`0168d270 2
Pool page fffffa800168d270 region is Nonpaged pool
*fffffa800168d260 size: 50 previous size: 40 (Allocated) *RMcc
Owning component : Unknown (update pooltag.txt)
kd> u fffffa60`00b8ffc0 l1
NETIO!NmrfpNsiProviderDispatch:
fffffa60`00b8ffc0 0000 add byte ptr [rax],al
kd> !pool fffffa80`0168d30c 2
Pool page fffffa800168d30c region is Nonpaged pool
*fffffa800168d2b0 size: 80 previous size: 50 (Allocated) *NMRb
Pooltag NMRb : Network Module Registrar Bindings, Binary : tcpip.sys
...kd> dp fffffa80`018d9d48
fffffa80`018d9d48 fffffa80`018e0cc8 fffffa80`018adde8
fffffa80`018d9d58 fffffa60`00f26f28 00000000`00000006
fffffa80`018d9d68 fffffa80`018d9c60 fffffa60`00f2b5f0
fffffa80`018d9d78 00000000`00000000 fffffa80`018d43fc
fffffa80`018d9d88 fffffa80`032f2b60 00000001`000e0002
fffffa80`018d9d98 fffffa80`018d9d98 fffffa80`018d9d98
fffffa80`018d9da8 fffffa80`029784c0 fffffa80`018d9de0
fffffa80`018d9db8 00000000`00000000 00000000`00000100
kd> u fffffa60`00f26f28 l1
tcpip!NPI_MS_IPV4_MODULEID:
fffffa60`00f26f28 1800 sbb byte ptr [rax],al
kd> u fffffa60`00f2b5f0 l1
tcpip!Ipv4NsiProviderDispatch:
fffffa60`00f2b5f0 0000 add byte ptr [rax],al
kd> !pool fffffa80`032f2b60 2
Pool page fffffa80032f2b60 region is Unknown
*fffffa80032f2b50 size: 280 previous size: 270 (Allocated) *NSIr
Pooltag NSIr : NSI Generic Buffers, Binary : nsi.dll