Min version | XP | 2003/XP64 SP1 | Vista | Vista SP1 | 7 | 8 Pre RTM | 10 | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Max version | 2003/XP64 SP2 | Vista SP2 | 7 SP1 | 10 Pre RTM | 10 TH2 | ||||||
Architecture | x86 | x64 | x86 | x64 | x86 | x64 | x86 | x64 | x86 | x64 | |
x86 offset offset:bitpos | Field Name | x64 offset offset:bitpos | |||||||||
0x0000 | uintptr_t TableCode | uintptr_t TableCode | uintptr_t TableCode | uintptr_t TableCode | uintptr_t TableCode | uintptr_t TableCode | unsigned long NextHandleNeedingPool | 0x0000 | |||
0x0004 | long ExtraInfoPages | long ExtraInfoPages | long ExtraInfoPages | long ExtraInfoPages | 0x0004 | ||||||
0x0004 | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | 0x0008 | ||||
0x0008 | volatile unsigned long TableCode | volatile uint64_t TableCode | volatile unsigned long TableCode | volatile uint64_t TableCode | 0x0008 | ||||||
0x0008 | void * UniqueProcessId | void * UniqueProcessId | void * UniqueProcessId | void * UniqueProcessId | void * UniqueProcessId | void * UniqueProcessId | 0x0010 | ||||
0x000C | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | struct _EPROCESS * QuotaProcess | 0x0010 | ||||||
0x000C | struct _EX_PUSH_LOCK[4] HandleTableLock | struct _EX_PUSH_LOCK[4] HandleTableLock | struct _EX_PUSH_LOCK HandleLock | struct _EX_PUSH_LOCK HandleLock | struct _EX_PUSH_LOCK HandleLock | struct _EX_PUSH_LOCK HandleLock | 0x0018 | ||||
0x0010 | struct _LIST_ENTRY HandleTableList | 0x0018 | |||||||||
0x0010 | struct _LIST_ENTRY HandleTableList | struct _LIST_ENTRY HandleTableList | struct _LIST_ENTRY HandleTableList | struct _LIST_ENTRY HandleTableList | 0x0020 | ||||||
0x0018 | unsigned long UniqueProcessId | unsigned long UniqueProcessId | unsigned long UniqueProcessId | unsigned long UniqueProcessId | 0x0028 | ||||||
0x0018 | struct _EX_PUSH_LOCK HandleContentionEvent | 0x0030 | |||||||||
0x001C | unsigned long Flags | 0x002C | |||||||||
0x001C:0x00 | uint8_t StrictFIFO | uint8_t StrictFIFO | uint8_t StrictFIFO | uint8_t StrictFIFO | 0x002C:0x00 | ||||||
0x001C | struct _LIST_ENTRY HandleTableList | struct _LIST_ENTRY HandleTableList | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | 0x0038 | ||||
0x001C:0x01 | uint8_t EnableHandleExceptions | 0x002C:0x01 | |||||||||
0x001C:0x02 | uint8_t Rundown | 0x002C:0x02 | |||||||||
0x001C:0x03 | uint8_t Duplicated | 0x002C:0x03 | |||||||||
0x001C:0x04 | uint8_t RaiseUMExceptionOnInvalidHandleClose | 0x002C:0x04 | |||||||||
0x0020 | struct _EX_PUSH_LOCK HandleContentionEvent | struct _EX_PUSH_LOCK HandleContentionEvent | struct _EX_PUSH_LOCK HandleContentionEvent | struct _EX_PUSH_LOCK HandleContentionEvent | 0x0030 | ||||||
0x0020 | long ExtraInfoPages | 0x0040 | |||||||||
0x0024 | struct _EX_PUSH_LOCK HandleTableLock | struct _EX_PUSH_LOCK HandleTableLock | struct _EX_PUSH_LOCK HandleTableLock | struct _EX_PUSH_LOCK HandleTableLock | 0x0038 | ||||||
0x0024 | unsigned long Flags | 0x0044 | |||||||||
0x0024:0x00 | uint8_t StrictFIFO | uint8_t StrictFIFO | uint8_t StrictFIFO | uint8_t StrictFIFO | 0x0044:0x00 | ||||||
0x0024 | struct _EX_PUSH_LOCK HandleContentionEvent | 0x0048 | |||||||||
0x0028 | struct _HANDLE_TABLE_FREE_LIST[1] FreeLists | 0x0040 | |||||||||
0x0028 | x86: uint8_t[20] / x64: uint8_t[32] ActualEntry | x86: uint8_t[20] / x64: uint8_t[32] ActualEntry | x86: uint8_t[20] / x64: uint8_t[32] ActualEntry | x86: uint8_t[20] / x64: uint8_t[32] ActualEntry | 0x0040 | ||||||
0x0028 | long FirstFreeHandle | long FirstFreeHandle | unsigned long FirstFreeHandle | unsigned long FirstFreeHandle | 0x0048 | ||||||
0x0028 | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | 0x0050 | ||||||||
0x002C | struct _HANDLE_TABLE_ENTRY * LastFreeHandleEntry | struct _HANDLE_TABLE_ENTRY * LastFreeHandleEntry | struct _HANDLE_TABLE_ENTRY * LastFreeHandleEntry | struct _HANDLE_TABLE_ENTRY * LastFreeHandleEntry | 0x0050 | ||||||
0x002C | long ExtraInfoPages | long ExtraInfoPages | 0x0058 | ||||||||
0x0030 | long HandleCount | long HandleCount | unsigned long HandleCount | unsigned long HandleCount | 0x0058 | ||||||
0x0030 | unsigned long FirstFree | unsigned long FirstFree | 0x005C | ||||||||
0x0034 | unsigned long NextHandleNeedingPool | unsigned long NextHandleNeedingPool | unsigned long NextHandleNeedingPool | unsigned long NextHandleNeedingPool | 0x005C | ||||||
0x0034 | unsigned long LastFree | unsigned long LastFree | 0x0060 | ||||||||
0x0038 | unsigned long HandleCountHighWatermark | unsigned long HandleCountHighWatermark | 0x0060 | ||||||||
0x0038 | unsigned long NextHandleNeedingPool | 0x0064 | |||||||||
0x003C | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | struct _HANDLE_TRACE_DEBUG_INFO * DebugInfo | 0x0060 | ||||||
0x003C | long HandleCount | 0x0068 | |||||||||
0x0040 | unsigned long Flags | 0x006C | |||||||||
0x0040:0x00 | uint8_t StrictFIFO | 0x006C:0x00 |