If you have time, could you please point out what is wrong with this referenced commit besides the line,
DriverObject->Flags = DRVO_LEGACY_DRIVER;//DRVO_BUILTIN_DRIVER;
which was accidentally committed, which will be corrected.
The behavior for restoring IopInvalidDeviceRequest was verified in winxp.
Martin
> Date: Wed, 3 Jun 2009 04:32:40 -0700
> From: ionucu@videotron.ca
> To: ros-dev@reactos.org
> CC: ros-diffs@reactos.org
> Subject: Re: [ros-dev] [ros-diffs] [mjmartin] 41269: - IopCreateDriver: Change MajorFunction routines back to internal function IopInvalidDeviceRequest for ones that were set to NULL in the Drivers DriverEntry. Windows does it and so shall we.
>
> I must say that I protest to all the recent I/O changes, and in my
> opinion, they are all wrong and badly researched, and have hacked what
> was once good code.
>
> Best regards,
> Alex Ionescu
>
>
>
> On Wed, Jun 3, 2009 at 2:48 AM, <mjmartin@svn.reactos.org> wrote:
> > Author: mjmartin
> > Date: Wed Jun 3 13:48:33 2009
> > New Revision: 41269
> >
> > URL: http://svn.reactos.org/svn/reactos?rev=41269&view=rev
> > Log:
> > - IopCreateDriver: Change MajorFunction routines back to internal function IopInvalidDeviceRequest for ones that were set to NULL in the Drivers DriverEntry. Windows does it and so shall we.
> >
> > Modified:
> > trunk/reactos/ntoskrnl/io/iomgr/driver.c
> >
> > Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c
> > URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c?rev=41269&r1=41268&r2=41269&view=diff
> > ==============================================================================
> > --- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original)
> > +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Wed Jun 3 13:48:33 2009
> > @@ -1302,7 +1302,7 @@
> > RtlZeroMemory(DriverObject, ObjectSize);
> > DriverObject->Type = IO_TYPE_DRIVER;
> > DriverObject->Size = sizeof(DRIVER_OBJECT);
> > - DriverObject->Flags = DRVO_BUILTIN_DRIVER;
> > + DriverObject->Flags = DRVO_LEGACY_DRIVER;//DRVO_BUILTIN_DRIVER;
> > DriverObject->DriverExtension = (PDRIVER_EXTENSION)(DriverObject + 1);
> > DriverObject->DriverExtension->DriverObject = DriverObject;
> > DriverObject->DriverInit = InitializationFunction;
> > @@ -1398,6 +1398,14 @@
> > {
> > /* Returns to caller the object */
> > *pDriverObject = DriverObject;
> > + }
> > +
> > + /* Loop all Major Functions */
> > + for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
> > + {
> > + /* Set each function that was set to NULL to internal routine */
> > + if (!DriverObject->MajorFunction[i])
> > + DriverObject->MajorFunction[i] = IopInvalidDeviceRequest;
> > }
> >
> > /* Return the Status */
> >
> >
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
Lauren found her dream laptop. Find the PC that’s right for you.