[NTOSKRNL]

NtQueryInformationFile: Implement the FileAllInformation case according to 'File System Internals' page 485.

svn path=/trunk/; revision=66385
This commit is contained in:
Eric Kohl 2015-02-21 14:19:16 +00:00
parent 6b6f74ec68
commit 1a1b7a15c4

View file

@ -1896,6 +1896,7 @@ NtQueryInformationFile(IN HANDLE FileHandle,
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);
@ -2099,6 +2100,16 @@ NtQueryInformationFile(IN HANDLE FileHandle,
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 */
if (CallDriver)