!wdfkd.wdfpoolusage
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]]]
Parameters
DriverName
Optional. The name of a driver. DriverName must not include the .sys file name extension.
SearchAddress
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.
Flags
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.
DLL
Wdfkd.dll
Frameworks
KMDF 1, UMDF 2
Additional Information
For more information, see Kernel-Mode Driver Framework Debugging.
Remarks
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