use ZwQueryInformationFile and ZwSetInformationFile instead of the Nt version since we're passing kernel pointers to them which cause a probe failure in UserMode. This should fix the 1st stage setup Modified: trunk/reactos/ntoskrnl/io/file.c Modified: trunk/reactos/ntoskrnl/mm/section.c _____
Modified: trunk/reactos/ntoskrnl/io/file.c --- trunk/reactos/ntoskrnl/io/file.c 2005-07-23 17:47:28 UTC (rev 16707) +++ trunk/reactos/ntoskrnl/io/file.c 2005-07-24 09:11:30 UTC (rev 16708) @@ -3039,7 +3039,15 @@
PreviousMode, FileObject->Flags & FO_ALERTABLE_IO, NULL); - Status = IoStatusBlock->Status; + _SEH_TRY + { + Status = IoStatusBlock->Status; + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; } else { @@ -3048,7 +3056,15 @@ PreviousMode, FileObject->Flags & FO_ALERTABLE_IO, NULL); - Status = FileObject->FinalStatus; + _SEH_TRY + { + Status = FileObject->FinalStatus; + } + _SEH_HANDLE + { + Status = _SEH_GetExceptionCode(); + } + _SEH_END; } }
_____
Modified: trunk/reactos/ntoskrnl/mm/section.c --- trunk/reactos/ntoskrnl/mm/section.c 2005-07-23 17:47:28 UTC (rev 16707) +++ trunk/reactos/ntoskrnl/mm/section.c 2005-07-24 09:11:30 UTC (rev 16708) @@ -2308,7 +2308,7 @@
* (as in case of the EXT2FS driver by Manoj Paul Joseph where the * standard file information is filled on first request). */ - Status = NtQueryInformationFile(FileHandle, + Status = ZwQueryInformationFile(FileHandle, &Iosb, &FileInfo, sizeof(FILE_STANDARD_INFORMATION), @@ -2342,7 +2342,7 @@
if (MaximumSize.QuadPart > FileInfo.EndOfFile.QuadPart) { - Status = NtSetInformationFile(FileHandle, + Status = ZwSetInformationFile(FileHandle, &Iosb, &MaximumSize, sizeof(LARGE_INTEGER),