typedef struct _FILE_OBJECT { short Type; short Size; DEVICE_OBJECT *DeviceObject; VPB *Vpb; void *FsContext; void *FsContext2; SECTION_OBJECT_POINTERS *SectionObjectPointer; void *PrivateCacheMap; long FinalStatus; FILE_OBJECT *RelatedFileObject; unsigned char LockOperation; unsigned char DeletePending; unsigned char ReadAccess; unsigned char WriteAccess; unsigned char DeleteAccess; unsigned char SharedRead; unsigned char SharedWrite; unsigned char SharedDelete; unsigned long Flags; UNICODE_STRING FileName; LARGE_INTEGER CurrentByteOffset; unsigned long Waiters; unsigned long Busy; void *LastLock; KEVENT Lock; KEVENT Event; IO_COMPLETION_CONTEXT *CompletionContext; unsigned __int64 IrpListLock; LIST_ENTRY IrpList; void *FileObjectExtension; } FILE_OBJECT, *PFILE_OBJECT;