From: Thomas Faber Date: Fri, 1 May 2015 13:46:08 +0000 (+0000) Subject: [BLUE] X-Git-Tag: backups/colins-printing-for-freedom@73041~122 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=a1283b27455807b44e93d4a7ebffcc3fcdf62cab [BLUE] - FastIoDispatch is not optional for file system drivers! svn path=/trunk/; revision=67495 --- diff --git a/reactos/drivers/setup/blue/blue.c b/reactos/drivers/setup/blue/blue.c index ac898197ef0..e15db5f4503 100644 --- a/reactos/drivers/setup/blue/blue.c +++ b/reactos/drivers/setup/blue/blue.c @@ -88,6 +88,8 @@ static const UCHAR DefaultPalette[] = 0xFF, 0xFF, 0xFF }; +static FAST_IO_DISPATCH ScrFastIoDispatch; + /* FUNCTIONS **************************************************************/ static VOID FASTCALL @@ -818,6 +820,55 @@ ScrDispatch(PDEVICE_OBJECT DeviceObject, 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 @@ -838,6 +889,10 @@ DriverEntry (PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath) DriverObject->MajorFunction[IRP_MJ_WRITE] = ScrWrite; DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL ] = ScrIoControl; + ScrFastIoDispatch.FastIoRead = ScrFastIoRead; + ScrFastIoDispatch.FastIoWrite = ScrFastIoWrite; + DriverObject->FastIoDispatch = &ScrFastIoDispatch; + Status = IoCreateDevice (DriverObject, sizeof(DEVICE_EXTENSION), &DeviceName,