struct _NONOPAQUE_OPLOCK { struct _IRP* IrpExclusiveOplock;/* 0x0 8 */ struct _FILE_OBJECT* FileObject;/* 0x8 8 */ struct _EPROCESS* ExclusiveOplockOwner;/* 0x10 8 */ struct _ETHREAD* ExclusiveOplockOwnerThread;/* 0x18 8 */ unsigned char WaiterPriority;/* 0x20 1 */ /* 7 bytes padding */ struct _LIST_ENTRY IrpOplocksR;/* 0x28 16 */ struct _LIST_ENTRY IrpOplocksRH;/* 0x38 16 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _LIST_ENTRY RHBreakQueue;/* 0x48 16 */ struct _LIST_ENTRY WaitingIrps;/* 0x58 16 */ struct _LIST_ENTRY DelayAckFileObjectQueue;/* 0x68 16 */ struct _LIST_ENTRY AtomicQueue;/* 0x78 16 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _GUID* DeleterParentKey;/* 0x88 8 */ unsigned long OplockState;/* 0x90 4 */ /* 4 bytes padding */ struct _FAST_MUTEX* FastMutex;/* 0x98 8 */ struct _OPLOCK_CANCEL_BLOCK* CancelBlock;/* 0xa0 8 */ struct _OPLOCK_TELEMETRY TelemetryData;/* 0xa8 16 */ struct _OPLOCK_ACK_TIMEOUT* AckTimeout;/* 0xb8 8 */};size 192 (0xc0)17 members2 holes (11 bytes)padding 03 cachelines
Used in (2)