[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.

Michael Martin martinmnet at hotmail.com
Wed Jun 3 14:48:06 CEST 2009



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 at videotron.ca
> To: ros-dev at reactos.org
> CC: ros-diffs at 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 at 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 at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

_________________________________________________________________
Lauren found her dream laptop. Find the PC that’s right for you.
http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-dev/attachments/20090603/1ae62ee4/attachment.html 


More information about the Ros-dev mailing list