struct _CM_KCB_UOW { struct _LIST_ENTRY TransactionListEntry;/* 0x0 16 */ struct _CM_INTENT_LOCK* KCBLock;/* 0x10 8 */ struct _CM_INTENT_LOCK* KeyLock;/* 0x18 8 */ struct _LIST_ENTRY KCBListEntry;/* 0x20 16 */ struct _CM_KEY_CONTROL_BLOCK* KeyControlBlock;/* 0x30 8 */ struct _CM_TRANS* Transaction;/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned long UoWState;/* 0x40 4 */ enum UoWActionType ActionType;/* 0x44 4 */ enum HSTORAGE_TYPE StorageType;/* 0x48 4 */ /* 4 bytes padding */ struct _CM_KCB_UOW* ParentUoW;/* 0x50 8 */ union { struct _CM_KEY_CONTROL_BLOCK* ChildKCB;/* 0x58 8 */ unsigned long VolatileKeyCell;/* 0x58 4 */ struct { unsigned long OldValueCell;/* 0x58 4 */ unsigned long NewValueCell;/* 0x5c 4 */ };/* 0x58 8 */ unsigned long UserFlags;/* 0x58 4 */ union _LARGE_INTEGER LastWriteTime;/* 0x58 8 */ struct _CM_KEY_SECURITY_CACHE* TxCachedSecurity;/* 0x58 8 */ };/* 0x58 8 */ unsigned long TxSecurityCell;/* 0x60 4 */ unsigned char UpdateEntireSecurity;/* 0x64 1 */ /* 3 bytes padding */ union { void* PrepareDataPointer;/* 0x68 8 */ struct _CM_UOW_SET_SD_DATA* SecurityData;/* 0x68 8 */ struct _CM_UOW_KEY_STATE_MODIFICATION* ModifyKeysData;/* 0x68 8 */ struct _CM_UOW_SET_VALUE_LIST_DATA* SetValueData;/* 0x68 8 */ };/* 0x68 8 */ union { struct _CM_UOW_SET_VALUE_KEY_DATA* ValueData;/* 0x70 8 */ struct _CMP_DISCARD_AND_REPLACE_KCB_CONTEXT* DiscardReplaceContext;/* 0x70 8 */ };/* 0x70 8 */};size 120 (0x78)25 members2 holes (7 bytes)padding 02 cachelines
Used in (1)