struct _KTRANSACTION { struct _KEVENT OutcomeEvent;/* 0x0 24 */ unsigned long cookie;/* 0x18 4 */ /* 4 bytes padding */ struct _KMUTANT Mutex;/* 0x20 56 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _KTRANSACTION* TreeTx;/* 0x58 8 */ struct _KTMOBJECT_NAMESPACE_LINK GlobalNamespaceLink;/* 0x60 40 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _KTMOBJECT_NAMESPACE_LINK TmNamespaceLink;/* 0x88 40 */ struct _GUID UOW;/* 0xb0 16 */ /* ── cacheline 3 boundary (192 bytes) ── */ enum _KTRANSACTION_STATE State;/* 0xc0 4 */ unsigned long Flags;/* 0xc4 4 */ struct _LIST_ENTRY EnlistmentHead;/* 0xc8 16 */ unsigned long EnlistmentCount;/* 0xd8 4 */ unsigned long RecoverableEnlistmentCount;/* 0xdc 4 */ unsigned long PrePrepareRequiredEnlistmentCount;/* 0xe0 4 */ unsigned long PrepareRequiredEnlistmentCount;/* 0xe4 4 */ unsigned long OutcomeRequiredEnlistmentCount;/* 0xe8 4 */ unsigned long PendingResponses;/* 0xec 4 */ struct _KENLISTMENT* SuperiorEnlistment;/* 0xf0 8 */ union _CLS_LSN LastLsn;/* 0xf8 8 */ /* ── cacheline 4 boundary (256 bytes) ── */ struct _LIST_ENTRY PromotedEntry;/* 0x100 16 */ struct _KTRANSACTION* PromoterTransaction;/* 0x110 8 */ void* PromotePropagation;/* 0x118 8 */ unsigned long IsolationLevel;/* 0x120 4 */ unsigned long IsolationFlags;/* 0x124 4 */ union _LARGE_INTEGER Timeout;/* 0x128 8 */ struct _UNICODE_STRING Description;/* 0x130 16 */ /* ── cacheline 5 boundary (320 bytes) ── */ struct _KTHREAD* RollbackThread;/* 0x140 8 */ struct _WORK_QUEUE_ITEM RollbackWorkItem;/* 0x148 32 */ struct _KDPC RollbackDpc;/* 0x168 64 */ /* ── cacheline 6 boundary (384 bytes) ── */ struct _KTIMER RollbackTimer;/* 0x1a8 64 */ /* ── cacheline 7 boundary (448 bytes) ── */ struct _LIST_ENTRY LsnOrderedEntry;/* 0x1e8 16 */ enum _KTRANSACTION_OUTCOME Outcome;/* 0x1f8 4 */ /* 4 bytes padding */ /* ── cacheline 8 boundary (512 bytes) ── */ struct _KTM* Tm;/* 0x200 8 */ __int64 CommitReservation;/* 0x208 8 */ struct _KTRANSACTION_HISTORY TransactionHistory[10];/* 0x210 80 */ /* ── cacheline 9 boundary (576 bytes) ── */ unsigned long TransactionHistoryCount;/* 0x260 4 */ /* 4 bytes padding */ void* DTCPrivateInformation;/* 0x268 8 */ unsigned long DTCPrivateInformationLength;/* 0x270 4 */ /* 4 bytes padding */ struct _KMUTANT DTCPrivateInformationMutex;/* 0x278 56 */ /* ── cacheline 10 boundary (640 bytes) ── */ void* PromotedTxSelfHandle;/* 0x2b0 8 */ unsigned long PendingPromotionCount;/* 0x2b8 4 */ /* 4 bytes padding */ /* ── cacheline 11 boundary (704 bytes) ── */ struct _KEVENT PromotionCompletedEvent;/* 0x2c0 24 */};size 728 (0x2d8)41 members5 holes (20 bytes)padding 012 cachelines
Used in (1)