| Min version | 8.1 Update 1 | 10 Pre RTM |
|---|---|---|
| Max version | 10 TH2 | |
| x86 offset offset:bitpos | Field Name | |
| 0x0000 | struct _RTL_BALANCED_NODE TreeNode | |
| 0x0000 | struct _SINGLE_LIST_ENTRY FreeListEntry | |
| 0x000C | void * ThreadUnsafe | unsigned long EntryFlags |
| 0x000C | volatile uint8_t HeadNodeByte | uint8_t EntryOffset |
| 0x000C:0x00 | unsigned long StaticState | |
| 0x000D | uint8_t[2] Reserved1 | uint8_t ThreadLocalFlags |
| 0x000D:0x00 | uint8_t WaitingBit | |
| 0x000C:0x08 | unsigned long AllFlags | |
| 0x000D:0x01 | uint8_t Spare0 | |
| 0x000E | uint8_t AcquiredByte | |
| 0x000E:0x00 | uint8_t AcquiredBit | |
| 0x000F | volatile uint8_t AcquiredByte | uint8_t CrossThreadFlags |
| 0x000F:0x00 | uint8_t HeadNodeBit | |
| 0x000F:0x01 | uint8_t IoPriorityBit | |
| 0x000F:0x02 | uint8_t Spare1 | |
| 0x0010 | struct _KLOCK_ENTRY_LOCK_STATE LockState | |
| 0x0010 | void * volatile LockUnsafe | |
| 0x0010 | volatile uint8_t WaitingAndBusyByte | volatile uint8_t CrossThreadReleasableAndBusyByte |
| 0x0011 | uint8_t[2] Reserved | |
| 0x0013 | volatile uint8_t InTreeByte | |
| 0x0014 | void * SessionState | |
| 0x0014 | unsigned long SessionId | |
| 0x0018 | struct _RTL_RB_TREE OwnerTree | |
| 0x0018 | char CpuPriorityKey | |
| 0x0020 | struct _RTL_RB_TREE WaiterTree | |
| 0x0028 | unsigned long EntryLock | |
| 0x002C | uint16_t AllBoosts | |
| 0x002C:0x00 | uint16_t IoBoost | |
| 0x002C:0x01 | uint16_t CpuBoostsBitmap | |
| 0x002E:0x00 | uint16_t IoNormalPriorityWaiterCount | uint16_t IoNormalPriorityWaiterCount |
| 0x002E:0x0F | uint16_t IoPriorityBit | |