22 #include <u32std.h> |
22 #include <u32std.h> |
23 |
23 |
24 // Enumerations |
24 // Enumerations |
25 enum TMemSpyDriverCellType |
25 enum TMemSpyDriverCellType |
26 { |
26 { |
27 EMemSpyDriverAllocatedCellMask = 0x000000FF, |
27 EMemSpyDriverGoodAllocatedCell = 0, |
28 EMemSpyDriverFreeCellMask = 0x0000FF00, |
28 EMemSpyDriverGoodFreeCell, |
29 EMemSpyDriverBadCellMask = 0xFF000000, |
29 EMemSpyDriverBadAllocatedCellSize, |
30 |
30 EMemSpyDriverBadAllocatedCellAddress, |
31 EMemSpyDriverHeapAllocation = 0x00000001, |
31 EMemSpyDriverBadFreeCellAddress, |
32 EMemSpyDriverDlaAllocation = 0x00000002, |
32 EMemSpyDriverBadFreeCellSize |
33 EMemSpyDriverPageAllocation = 0x00000003, |
|
34 EMemSpyDriverSlabAllocation = 0x00000004, |
|
35 |
|
36 EMemSpyDriverHeapFreeCell = 0x00000100, |
|
37 EMemSpyDriverDlaFreeCell = 0x00000200, |
|
38 EMemSpyDriverSlabFreeCell = 0x00000300, // Used to track free cells in partially-filled slabs |
|
39 EMemSpyDriverSlabFreeSlab = 0x00000400, // Used to track entirely empty slabs (that don't have a specific cell size) |
|
40 |
|
41 EMemSpyDriverHeapBadFreeCellAddress = 0x01000000, |
|
42 EMemSpyDriverHeapBadFreeCellSize = 0x02000000, |
|
43 EMemSpyDriverHeapBadAllocatedCellSize = 0x03000000, |
|
44 EMemSpyDriverHeapBadAllocatedCellAddress = 0x04000000, |
|
45 }; |
33 }; |
46 |
34 |
47 |
35 |
48 enum TMemSpyDriverThreadOrProcess |
36 enum TMemSpyDriverThreadOrProcess |
49 { |
37 { |