!ndiskd.nbpool
The !ndiskd.nbpool extension displays information about a NET_BUFFER (NB) pool. If you run this extension with no parameters, !ndiskd will display a list of all allocated NB pools in the system.
!ndiskd.nbpool [-handle <x>] [-allocations] [-find <str>] [-findva <x>] [-findpa <x>]
Parameters
-handle
Handle of an NB pool.
-allocations
Displays all allocated NBs.
-find
Filter the list of allocated NBs using a debugger expression.
-findva
Find NBs that straddle the given virtual address.
-findpa
Find NBs that straddle the given physical address.
DLL
Ndiskd.dll
Examples
Enter the !ndiskd.nbpool command with no parameters to see a list of all allocated NB pools. In this example, look for the NB pool allocated by the Netio service with the Nnbf Tag. Its handle is ffffdf801308ca40.
2: kd> !ndiskd.nbpool
NB Pool Tag Allocated by
ffffdf8013963a40 UDNb NETIO!NetioAllocateNetBufferMdlAndDataPool+3c
ffffdf801396aa40 TSNb NETIO!NetioAllocateNetBufferMdlAndDataPool+3c
ffffdf801397d4c0 StBn NETIO!StreamPoolsInit+90
ffffdf801308ca40 Nnbf NETIO!NetioInitializeNetBufferListLibrary+dd
ffffdf80131cba40 NDnd ndis!DriverEntry+615
Click on the NB pool's handle or enter the !ndiskd.nbpool -handle command to examine its details.
2: kd> !ndiskd.nbpool ffffdf801308ca40
NB POOL
Ndis handle ffffdf801308ca40
Allocation tag Nnbf
Owner
Allocated by NETIO!NetioInitializeNetBufferListLibrary+dd
Flags [No flags set]
Structure size 0n176
Data size 0
All allocated NBs
To explore the NBs contained in this NB pool, click on the "All allocated NBs" link at the bottom. Alternatively, you can also enter the !ndiskd.nbpool -handle -allocations command. As shown in the following example, this NB pool contains more than 1024 NBs so !ndiskd quit early. You can use the -force option to work around this limit and see all of the NBs in this NB pool.
2: kd> !ndiskd.nbpool ffffdf801308ca40 -allocations
ALL ALLOCATED NBs
NB Active?
ffffdf8016ea4360 Allocated
ffffdf801744df50 Allocated
ffffdf8016932860 Allocated
ffffdf8016e31500 Allocated
ffffdf80174eade0 Allocated
ffffdf8017daa900 Allocated
ffffdf8017c8c680 Allocated
ffffdf80166b23b0 Allocated
ffffdf80164fea70 Allocated
ffffdf8012845990 Allocated
ffffdf8017d692d0 Allocated
ffffdf8017cdc090 Allocated
ffffdf8012771780 Allocated
ffffdf80158a3550 Allocated
ffffdf8012eef5c0 Allocated
ffffdf80127719d0 Allocated
ffffdf8015119570 Allocated
ffffdf8012e18d40 Allocated
ffffdf8017929b10 Allocated
ffffdf8016d4e430 Allocated
...
ffffdf8015ffbbd0 Allocated
ffffdf8015ec1b10 Freed
ffffdf80158e56d0 Allocated
ffffdf8016272110 Freed
ffffdf8015d8e030 Freed
ffffdf8015d8e770 Freed
ffffdf80158ddc30 Freed
ffffdf801584acc0 Freed
ffffdf8015846b40 Freed
ffffdf8015a06c50 Freed
ffffdf801480c300 Freed
ffffdf8015e48f50 Freed
ffffdf8015de64e0 Freed
ffffdf8015ddff50 Freed
[Maximum of 1024 items read; quitting early. Rerun with the '-force' option
to bypass this limit.]