typedef struct _FILE_OBJECT                                                     // 30 / 33 elements; 0x0080 / 0x00D8 Bytes
{
    INT16                       Type;                                           // 0x0000 / 0x0000; 0x0002 / 0x0002 Bytes
    INT16                       Size;                                           // 0x0002 / 0x0002; 0x0002 / 0x0002 Bytes
#if defined(_M_X64)
    UINT8                       _PADDING0_[4];                                  // ------ / 0x0004; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    PDEVICE_OBJECT              DeviceObject;                                   // 0x0004 / 0x0008; 0x0004 / 0x0008 Bytes
    PVPB                        Vpb;                                            // 0x0008 / 0x0010; 0x0004 / 0x0008 Bytes
    PVOID                       FsContext;                                      // 0x000C / 0x0018; 0x0004 / 0x0008 Bytes
    PVOID                       FsContext2;                                     // 0x0010 / 0x0020; 0x0004 / 0x0008 Bytes
    PSECTION_OBJECT_POINTERS    SectionObjectPointer;                           // 0x0014 / 0x0028; 0x0004 / 0x0008 Bytes
    PVOID                       PrivateCacheMap;                                // 0x0018 / 0x0030; 0x0004 / 0x0008 Bytes
    LONG32                      FinalStatus;                                    // 0x001C / 0x0038; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       _PADDING1_[4];                                  // ------ / 0x003C; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    PFILE_OBJECT                RelatedFileObject;                              // 0x0020 / 0x0040; 0x0004 / 0x0008 Bytes
    UINT8                       LockOperation;                                  // 0x0024 / 0x0048; 0x0001 / 0x0001 Bytes
    UINT8                       DeletePending;                                  // 0x0025 / 0x0049; 0x0001 / 0x0001 Bytes
    UINT8                       ReadAccess;                                     // 0x0026 / 0x004A; 0x0001 / 0x0001 Bytes
    UINT8                       WriteAccess;                                    // 0x0027 / 0x004B; 0x0001 / 0x0001 Bytes
    UINT8                       DeleteAccess;                                   // 0x0028 / 0x004C; 0x0001 / 0x0001 Bytes
    UINT8                       SharedRead;                                     // 0x0029 / 0x004D; 0x0001 / 0x0001 Bytes
    UINT8                       SharedWrite;                                    // 0x002A / 0x004E; 0x0001 / 0x0001 Bytes
    UINT8                       SharedDelete;                                   // 0x002B / 0x004F; 0x0001 / 0x0001 Bytes
    ULONG32                     Flags;                                          // 0x002C / 0x0050; 0x0004 / 0x0004 Bytes
#if defined(_M_X64)
    UINT8                       _PADDING2_[4];                                  // ------ / 0x0054; ------ / 0x0004 Bytes
#endif                                                                          // #if defined(_M_X64)
    UNICODE_STRING              FileName;                                       // 0x0030 / 0x0058; 0x0008 / 0x0010 Bytes
    LARGE_INTEGER               CurrentByteOffset;                              // 0x0038 / 0x0068; 0x0008 / 0x0008 Bytes
    ULONG32                     Waiters;                                        // 0x0040 / 0x0070; 0x0004 / 0x0004 Bytes
    ULONG32                     Busy;                                           // 0x0044 / 0x0074; 0x0004 / 0x0004 Bytes
    PVOID                       LastLock;                                       // 0x0048 / 0x0078; 0x0004 / 0x0008 Bytes
    KEVENT                      Lock;                                           // 0x004C / 0x0080; 0x0010 / 0x0018 Bytes
    KEVENT                      Event;                                          // 0x005C / 0x0098; 0x0010 / 0x0018 Bytes
    PIO_COMPLETION_CONTEXT      CompletionContext;                              // 0x006C / 0x00B0; 0x0004 / 0x0008 Bytes
    UINT_PTR                    IrpListLock;                                    // 0x0070 / 0x00B8; 0x0004 / 0x0008 Bytes
    LIST_ENTRY                  IrpList;                                        // 0x0074 / 0x00C0; 0x0008 / 0x0010 Bytes
    PVOID                       FileObjectExtension;                            // 0x007C / 0x00D0; 0x0004 / 0x0008 Bytes
} FILE_OBJECT, * PFILE_OBJECT;

Return to OS-specific structures/unions/enums list.
Return to OS version list.