The !wdfkd.wdfpoolusage extension displays pool usage information for a specified driver, if the Kernel-Mode Driver Framework (KMDF) verifier is enabled for the driver.
!wdfkd.wdfpoolusage [DriverName [SearchAddress] [Flags]]]
Optional. The name of a driver. DriverName must not include the .sys file name extension.
Optional. A string that represents a memory address. The pool entry that contains SearchAddress is displayed. If SearchAddress is 0 or omitted, all of the driver's pool entries are displayed.
Optional. The kind of information to display. This parameter is valid only if SearchAddress is nonzero. Flags can be any combination of the following bits. The default value is 0x0.
Bit 0 (0x1)
Displays verbose output. Multiple lines are displayed for each. If this flag is not set, the information about an allocation is displayed on one line.
Bit 1 (0x2)
Displays internal type information for each handle.
Bit 2 (0x4)
Displays the caller of each pool entry.
KMDF 1, UMDF 2
For more information, see Kernel-Mode Driver Framework Debugging.
If you omit the DriverName parameter, the default driver is used. You can display the default driver by using the !wdfkd.wdfgetdriver extension; you can set the default driver by using the !wdfkd.wdfsetdriver extension.
The following example shows the output from the !wdfpoolusage extension when no pool allocation is marked and the Flags value is set to 0.
## kd> !wdfpoolusage wdfrawbusenumtest 0 0 ----------------------------------- ## FxDriverGlobals 83b7af18 pool stats ----------------------------------- Driver Tag: 'RawB' 15126 NonPaged Bytes, 548 Paged Bytes 94 NonPaged Allocations, 10 Paged Allocations 15610 PeakNonPaged Bytes, 752 PeakPaged Bytes 100 PeakNonPaged Allocations, 14 PeakPaged Allocations pool 82dbae00, Size 512 Tag 'RawB', NonPaged, Caller: Wdf01000!FxVerifierLock::AllocateThreadTable+5d
The following example shows the output from !wdfpoolusage that appears when the value of Flags is 1. (Note that the ellipsis (...) on the second line indicates the omission of some output that is the same as that shown in the preceding example.)
kd> !wdfpoolusage wdfrawbusenumtest 0 1 . . . 100 PeakNonPaged Allocations, 14 PeakPaged Allocations Client alloc starts at 82dbae00 Size 512 Tag 'RawB' NonPaged (0x0) Caller: Wdf01000!FxVerifierLock::AllocateThreadTable+5d