mirror of
https://github.com/reactos/reactos.git
synced 2025-06-29 11:51:23 +00:00
[NTOSKRNL]
NtQueryInformationFile: Implement the FileAllInformation case according to 'File System Internals' page 485. svn path=/trunk/; revision=66385
This commit is contained in:
parent
6b6f74ec68
commit
1a1b7a15c4
1 changed files with 11 additions and 0 deletions
|
@ -1896,6 +1896,7 @@ NtQueryInformationFile(IN HANDLE FileHandle,
|
||||||
PFILE_ACCESS_INFORMATION AccessBuffer;
|
PFILE_ACCESS_INFORMATION AccessBuffer;
|
||||||
PFILE_MODE_INFORMATION ModeBuffer;
|
PFILE_MODE_INFORMATION ModeBuffer;
|
||||||
PFILE_ALIGNMENT_INFORMATION AlignmentBuffer;
|
PFILE_ALIGNMENT_INFORMATION AlignmentBuffer;
|
||||||
|
PFILE_ALL_INFORMATION AllBuffer;
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
IOTRACE(IO_API_DEBUG, "FileHandle: %p\n", FileHandle);
|
IOTRACE(IO_API_DEBUG, "FileHandle: %p\n", FileHandle);
|
||||||
|
|
||||||
|
@ -2099,6 +2100,16 @@ NtQueryInformationFile(IN HANDLE FileHandle,
|
||||||
Irp->IoStatus.Information = sizeof(FILE_ALIGNMENT_INFORMATION);
|
Irp->IoStatus.Information = sizeof(FILE_ALIGNMENT_INFORMATION);
|
||||||
CallDriver = FALSE;
|
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 */
|
/* Call the Driver */
|
||||||
if (CallDriver)
|
if (CallDriver)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue