[KS] KsQueryInformationFile(): Merge IoStatus and StatusBlock

Addendum to commit 9061b8ee40 (r42334).
This commit is contained in:
Serge Gautherie 2020-01-07 16:39:20 +01:00 committed by Victor Perevertkin
parent 774a4252b9
commit 7405dc36b6

View file

@ -349,10 +349,9 @@ KsQueryInformationFile(
PFAST_IO_DISPATCH FastIoDispatch; PFAST_IO_DISPATCH FastIoDispatch;
PIRP Irp; PIRP Irp;
PIO_STACK_LOCATION IoStack; PIO_STACK_LOCATION IoStack;
IO_STATUS_BLOCK IoStatus; IO_STATUS_BLOCK IoStatusBlock;
KEVENT Event; KEVENT Event;
LARGE_INTEGER Offset; LARGE_INTEGER Offset;
IO_STATUS_BLOCK StatusBlock;
NTSTATUS Status; NTSTATUS Status;
/* get related file object */ /* get related file object */
@ -370,7 +369,7 @@ KsQueryInformationFile(
/* use FastIoQueryBasicInfo routine */ /* use FastIoQueryBasicInfo routine */
if (FastIoDispatch->FastIoQueryBasicInfo) if (FastIoDispatch->FastIoQueryBasicInfo)
{ {
return FastIoDispatch->FastIoQueryBasicInfo(FileObject, TRUE, (PFILE_BASIC_INFORMATION)FileInformation, &IoStatus, DeviceObject); return FastIoDispatch->FastIoQueryBasicInfo(FileObject, TRUE, (PFILE_BASIC_INFORMATION)FileInformation, &IoStatusBlock, DeviceObject);
} }
} }
else if (FileInformationClass == FileStandardInformation) else if (FileInformationClass == FileStandardInformation)
@ -378,10 +377,11 @@ KsQueryInformationFile(
/* use FastIoQueryStandardInfo routine */ /* use FastIoQueryStandardInfo routine */
if (FastIoDispatch->FastIoQueryStandardInfo) if (FastIoDispatch->FastIoQueryStandardInfo)
{ {
return FastIoDispatch->FastIoQueryStandardInfo(FileObject, TRUE, (PFILE_STANDARD_INFORMATION)FileInformation, &IoStatus, DeviceObject); return FastIoDispatch->FastIoQueryStandardInfo(FileObject, TRUE, (PFILE_STANDARD_INFORMATION)FileInformation, &IoStatusBlock, DeviceObject);
} }
} }
} }
/* clear event */ /* clear event */
KeClearEvent(&FileObject->Event); KeClearEvent(&FileObject->Event);
@ -392,8 +392,7 @@ KsQueryInformationFile(
Offset.QuadPart = 0L; Offset.QuadPart = 0L;
/* build the request */ /* build the request */
Irp = IoBuildSynchronousFsdRequest(IRP_MJ_QUERY_INFORMATION, IoGetRelatedDeviceObject(FileObject), NULL, 0, &Offset, &Event, &StatusBlock); Irp = IoBuildSynchronousFsdRequest(IRP_MJ_QUERY_INFORMATION, IoGetRelatedDeviceObject(FileObject), NULL, 0, &Offset, &Event, &IoStatusBlock);
if (!Irp) if (!Irp)
return STATUS_INSUFFICIENT_RESOURCES; return STATUS_INSUFFICIENT_RESOURCES;
@ -418,7 +417,7 @@ KsQueryInformationFile(
if (FileObject->Flags & FO_SYNCHRONOUS_IO) if (FileObject->Flags & FO_SYNCHRONOUS_IO)
Status = FileObject->FinalStatus; Status = FileObject->FinalStatus;
else else
Status = StatusBlock.Status; Status = IoStatusBlock.Status;
} }
/* done */ /* done */
@ -482,7 +481,6 @@ KsSetInformationFile(
/* build the irp */ /* build the irp */
Irp = IoBuildSynchronousFsdRequest(IRP_MJ_SET_INFORMATION, DeviceObject, NULL, 0, &Offset, &Event, &IoStatus); Irp = IoBuildSynchronousFsdRequest(IRP_MJ_SET_INFORMATION, DeviceObject, NULL, 0, &Offset, &Event, &IoStatus);
if (!Irp) if (!Irp)
{ {
/* failed to allocate irp */ /* failed to allocate irp */