Author: ekohl Date: Sat Feb 21 14:19:16 2015 New Revision: 66385
URL: http://svn.reactos.org/svn/reactos?rev=66385&view=rev Log: [NTOSKRNL] NtQueryInformationFile: Implement the FileAllInformation case according to 'File System Internals' page 485.
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] Sat Feb 21 14:19:16 2015 @@ -1896,6 +1896,7 @@ PFILE_ACCESS_INFORMATION AccessBuffer; PFILE_MODE_INFORMATION ModeBuffer; PFILE_ALIGNMENT_INFORMATION AlignmentBuffer; + PFILE_ALL_INFORMATION AllBuffer; PAGED_CODE(); IOTRACE(IO_API_DEBUG, "FileHandle: %p\n", FileHandle);
@@ -2098,6 +2099,16 @@ AlignmentBuffer->AlignmentRequirement = DeviceObject->AlignmentRequirement; Irp->IoStatus.Information = sizeof(FILE_ALIGNMENT_INFORMATION); CallDriver = FALSE; + } + else if (FileInformationClass == FileAllInformation) + { + AllBuffer = Irp->AssociatedIrp.SystemBuffer; + AllBuffer->AccessInformation.AccessFlags = HandleInformation.GrantedAccess; + AllBuffer->ModeInformation.Mode = IopGetFileMode(FileObject); + AllBuffer->AlignmentInformation.AlignmentRequirement = DeviceObject->AlignmentRequirement; + Irp->IoStatus.Information = sizeof(FILE_ACCESS_INFORMATION) + + sizeof(FILE_MODE_INFORMATION) + + sizeof(FILE_ALIGNMENT_INFORMATION); }
/* Call the Driver */