struct _FILE_OBJECT { short Type;/* 0x0 2 */ short Size;/* 0x2 2 */ /* 4 bytes padding */ struct _DEVICE_OBJECT* DeviceObject;/* 0x8 8 */ struct _VPB* Vpb;/* 0x10 8 */ void* FsContext;/* 0x18 8 */ void* FsContext2;/* 0x20 8 */ struct _SECTION_OBJECT_POINTERS* SectionObjectPointer;/* 0x28 8 */ void* PrivateCacheMap;/* 0x30 8 */ long FinalStatus;/* 0x38 4 */ /* 4 bytes padding */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _FILE_OBJECT* RelatedFileObject;/* 0x40 8 */ unsigned char LockOperation;/* 0x48 1 */ unsigned char DeletePending;/* 0x49 1 */ unsigned char ReadAccess;/* 0x4a 1 */ unsigned char WriteAccess;/* 0x4b 1 */ unsigned char DeleteAccess;/* 0x4c 1 */ unsigned char SharedRead;/* 0x4d 1 */ unsigned char SharedWrite;/* 0x4e 1 */ unsigned char SharedDelete;/* 0x4f 1 */ unsigned long Flags;/* 0x50 4 */ /* 4 bytes padding */ struct _UNICODE_STRING FileName;/* 0x58 16 */ union _LARGE_INTEGER CurrentByteOffset;/* 0x68 8 */ unsigned long Waiters;/* 0x70 4 */ unsigned long Busy;/* 0x74 4 */ void* LastLock;/* 0x78 8 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _KEVENT Lock;/* 0x80 24 */ struct _KEVENT Event;/* 0x98 24 */ struct _IO_COMPLETION_CONTEXT* CompletionContext;/* 0xb0 8 */ unsigned __int64 IrpListLock;/* 0xb8 8 */ /* ── cacheline 3 boundary (192 bytes) ── */ struct _LIST_ENTRY IrpList;/* 0xc0 16 */ struct _IOP_FILE_OBJECT_EXTENSION* FileObjectExtension;/* 0xd0 8 */};size 216 (0xd8)30 members3 holes (12 bytes)padding 04 cachelines
Used in (4)