mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 04:36:40 +00:00
[BLUE]
- FastIoDispatch is not optional for file system drivers! svn path=/trunk/; revision=67495
This commit is contained in:
parent
e03d4423da
commit
a1283b2745
1 changed files with 55 additions and 0 deletions
|
@ -88,6 +88,8 @@ static const UCHAR DefaultPalette[] =
|
||||||
0xFF, 0xFF, 0xFF
|
0xFF, 0xFF, 0xFF
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static FAST_IO_DISPATCH ScrFastIoDispatch;
|
||||||
|
|
||||||
/* FUNCTIONS **************************************************************/
|
/* FUNCTIONS **************************************************************/
|
||||||
|
|
||||||
static VOID FASTCALL
|
static VOID FASTCALL
|
||||||
|
@ -818,6 +820,55 @@ ScrDispatch(PDEVICE_OBJECT DeviceObject,
|
||||||
return (Status);
|
return (Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static FAST_IO_READ ScrFastIoRead;
|
||||||
|
static
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
ScrFastIoRead(
|
||||||
|
_In_ PFILE_OBJECT FileObject,
|
||||||
|
_In_ PLARGE_INTEGER FileOffset,
|
||||||
|
_In_ ULONG Length,
|
||||||
|
_In_ BOOLEAN Wait,
|
||||||
|
_In_ ULONG LockKey,
|
||||||
|
_Out_ PVOID Buffer,
|
||||||
|
_Out_ PIO_STATUS_BLOCK IoStatus,
|
||||||
|
_In_ PDEVICE_OBJECT DeviceObject)
|
||||||
|
{
|
||||||
|
DBG_UNREFERENCED_PARAMETER(FileObject);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(FileOffset);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(Length);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(Wait);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(LockKey);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(Buffer);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(IoStatus);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static FAST_IO_WRITE ScrFastIoWrite;
|
||||||
|
static
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
ScrFastIoWrite(
|
||||||
|
_In_ PFILE_OBJECT FileObject,
|
||||||
|
_In_ PLARGE_INTEGER FileOffset,
|
||||||
|
_In_ ULONG Length,
|
||||||
|
_In_ BOOLEAN Wait,
|
||||||
|
_In_ ULONG LockKey,
|
||||||
|
_In_ PVOID Buffer,
|
||||||
|
_Out_ PIO_STATUS_BLOCK IoStatus,
|
||||||
|
_In_ PDEVICE_OBJECT DeviceObject)
|
||||||
|
{
|
||||||
|
DBG_UNREFERENCED_PARAMETER(FileObject);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(FileOffset);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(Length);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(Wait);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(LockKey);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(Buffer);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(IoStatus);
|
||||||
|
DBG_UNREFERENCED_PARAMETER(DeviceObject);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Module entry point
|
* Module entry point
|
||||||
|
@ -838,6 +889,10 @@ DriverEntry (PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
|
||||||
DriverObject->MajorFunction[IRP_MJ_WRITE] = ScrWrite;
|
DriverObject->MajorFunction[IRP_MJ_WRITE] = ScrWrite;
|
||||||
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL ] = ScrIoControl;
|
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL ] = ScrIoControl;
|
||||||
|
|
||||||
|
ScrFastIoDispatch.FastIoRead = ScrFastIoRead;
|
||||||
|
ScrFastIoDispatch.FastIoWrite = ScrFastIoWrite;
|
||||||
|
DriverObject->FastIoDispatch = &ScrFastIoDispatch;
|
||||||
|
|
||||||
Status = IoCreateDevice (DriverObject,
|
Status = IoCreateDevice (DriverObject,
|
||||||
sizeof(DEVICE_EXTENSION),
|
sizeof(DEVICE_EXTENSION),
|
||||||
&DeviceName,
|
&DeviceName,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue