_FAST_IO_DISPATCH

//0xe0 bytes (sizeof) struct _FAST_IO_DISPATCH { ULONG SizeOfFastIoDispatch; //0x0 UCHAR (*FastIoCheckIfPossible)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, ULONG arg3, UCHAR arg4, ULONG arg5, UCHAR arg6, struct _IO_STATUS_BLOCK* arg7, struct _DEVICE_OBJECT* arg8); //0x8 UCHAR (*FastIoRead)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, ULONG arg3, UCHAR arg4, ULONG arg5, VOID* arg6, struct _IO_STATUS_BLOCK* arg7, struct _DEVICE_OBJECT* arg8); //0x10 UCHAR (*FastIoWrite)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, ULONG arg3, UCHAR arg4, ULONG arg5, VOID* arg6, struct _IO_STATUS_BLOCK* arg7, struct _DEVICE_OBJECT* arg8); //0x18 UCHAR (*FastIoQueryBasicInfo)(struct _FILE_OBJECT* arg1, UCHAR arg2, struct _FILE_BASIC_INFORMATION* arg3, struct _IO_STATUS_BLOCK* arg4, struct _DEVICE_OBJECT* arg5); //0x20 UCHAR (*FastIoQueryStandardInfo)(struct _FILE_OBJECT* arg1, UCHAR arg2, struct _FILE_STANDARD_INFORMATION* arg3, struct _IO_STATUS_BLOCK* arg4, struct _DEVICE_OBJECT* arg5); //0x28 UCHAR (*FastIoLock)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, union _LARGE_INTEGER* arg3, struct _EPROCESS* arg4, ULONG arg5, UCHAR arg6, UCHAR arg7, struct _IO_STATUS_BLOCK* arg8, struct _DEVICE_OBJECT* arg9); //0x30 UCHAR (*FastIoUnlockSingle)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, union _LARGE_INTEGER* arg3, struct _EPROCESS* arg4, ULONG arg5, struct _IO_STATUS_BLOCK* arg6, struct _DEVICE_OBJECT* arg7); //0x38 UCHAR (*FastIoUnlockAll)(struct _FILE_OBJECT* arg1, struct _EPROCESS* arg2, struct _IO_STATUS_BLOCK* arg3, struct _DEVICE_OBJECT* arg4); //0x40 UCHAR (*FastIoUnlockAllByKey)(struct _FILE_OBJECT* arg1, VOID* arg2, ULONG arg3, struct _IO_STATUS_BLOCK* arg4, struct _DEVICE_OBJECT* arg5); //0x48 UCHAR (*FastIoDeviceControl)(struct _FILE_OBJECT* arg1, UCHAR arg2, VOID* arg3, ULONG arg4, VOID* arg5, ULONG arg6, ULONG arg7, struct _IO_STATUS_BLOCK* arg8, struct _DEVICE_OBJECT* arg9); //0x50 VOID (*AcquireFileForNtCreateSection)(struct _FILE_OBJECT* arg1); //0x58 VOID (*ReleaseFileForNtCreateSection)(struct _FILE_OBJECT* arg1); //0x60 VOID (*FastIoDetachDevice)(struct _DEVICE_OBJECT* arg1, struct _DEVICE_OBJECT* arg2); //0x68 UCHAR (*FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT* arg1, UCHAR arg2, struct _FILE_NETWORK_OPEN_INFORMATION* arg3, struct _IO_STATUS_BLOCK* arg4, struct _DEVICE_OBJECT* arg5); //0x70 LONG (*AcquireForModWrite)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, struct _ERESOURCE** arg3, struct _DEVICE_OBJECT* arg4); //0x78 UCHAR (*MdlRead)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, ULONG arg3, ULONG arg4, struct _MDL** arg5, struct _IO_STATUS_BLOCK* arg6, struct _DEVICE_OBJECT* arg7); //0x80 UCHAR (*MdlReadComplete)(struct _FILE_OBJECT* arg1, struct _MDL* arg2, struct _DEVICE_OBJECT* arg3); //0x88 UCHAR (*PrepareMdlWrite)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, ULONG arg3, ULONG arg4, struct _MDL** arg5, struct _IO_STATUS_BLOCK* arg6, struct _DEVICE_OBJECT* arg7); //0x90 UCHAR (*MdlWriteComplete)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, struct _MDL* arg3, struct _DEVICE_OBJECT* arg4); //0x98 UCHAR (*FastIoReadCompressed)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, ULONG arg3, ULONG arg4, VOID* arg5, struct _MDL** arg6, struct _IO_STATUS_BLOCK* arg7, struct _COMPRESSED_DATA_INFO* arg8, ULONG arg9, struct _DEVICE_OBJECT* arg10); //0xa0 UCHAR (*FastIoWriteCompressed)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, ULONG arg3, ULONG arg4, VOID* arg5, struct _MDL** arg6, struct _IO_STATUS_BLOCK* arg7, struct _COMPRESSED_DATA_INFO* arg8, ULONG arg9, struct _DEVICE_OBJECT* arg10); //0xa8 UCHAR (*MdlReadCompleteCompressed)(struct _FILE_OBJECT* arg1, struct _MDL* arg2, struct _DEVICE_OBJECT* arg3); //0xb0 UCHAR (*MdlWriteCompleteCompressed)(struct _FILE_OBJECT* arg1, union _LARGE_INTEGER* arg2, struct _MDL* arg3, struct _DEVICE_OBJECT* arg4); //0xb8 UCHAR (*FastIoQueryOpen)(struct _IRP* arg1, struct _FILE_NETWORK_OPEN_INFORMATION* arg2, struct _DEVICE_OBJECT* arg3); //0xc0 LONG (*ReleaseForModWrite)(struct _FILE_OBJECT* arg1, struct _ERESOURCE* arg2, struct _DEVICE_OBJECT* arg3); //0xc8 LONG (*AcquireForCcFlush)(struct _FILE_OBJECT* arg1, struct _DEVICE_OBJECT* arg2); //0xd0 LONG (*ReleaseForCcFlush)(struct _FILE_OBJECT* arg1, struct _DEVICE_OBJECT* arg2); //0xd8 };