Author: sginsberg
Date: Mon Sep 8 06:52:33 2008
New Revision: 36047
URL:
http://svn.reactos.org/svn/reactos?rev=36047&view=rev
Log:
- NtQueryInformationFile and NtSetInformationFile: Don't clear the IRP_SYNCHRONOUS_API
flag if it has been set previously! This should obsolete the hack in
irp.c!IopCompleteRequest.
- If you still see "Not an executive event -- should not be dereferenced" after
this patch then please report to me.
Modified:
trunk/reactos/ntoskrnl/io/iomgr/iofunc.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/iofunc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iofunc.c…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/iofunc.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/iofunc.c [iso-8859-1] Mon Sep 8 06:52:33 2008
@@ -1809,10 +1809,10 @@
if (!NT_SUCCESS(Status)) return Status;
/* Set the flags */
- Irp->Flags = (IRP_BUFFERED_IO |
- IRP_DEALLOCATE_BUFFER |
- IRP_INPUT_OPERATION |
- IRP_DEFER_IO_COMPLETION);
+ Irp->Flags |= (IRP_BUFFERED_IO |
+ IRP_DEALLOCATE_BUFFER |
+ IRP_INPUT_OPERATION |
+ IRP_DEFER_IO_COMPLETION);
/* Set the Parameters */
StackPtr->Parameters.QueryFile.FileInformationClass = FileInformationClass;
@@ -2405,9 +2405,9 @@
if (!NT_SUCCESS(Status)) return Status;
/* Set the flags */
- Irp->Flags = (IRP_BUFFERED_IO |
- IRP_DEALLOCATE_BUFFER |
- IRP_DEFER_IO_COMPLETION);
+ Irp->Flags |= (IRP_BUFFERED_IO |
+ IRP_DEALLOCATE_BUFFER |
+ IRP_DEFER_IO_COMPLETION);
/* Set the Parameters */
StackPtr->Parameters.SetFile.FileInformationClass = FileInformationClass;