mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
[NPFS] Fix querying FileAllInformation.
This commit is contained in:
@@ -433,7 +433,7 @@ NpCommonQueryInformation(IN PDEVICE_OBJECT DeviceObject,
|
||||
|
||||
case FileAllInformation:
|
||||
|
||||
Length -= 12;
|
||||
Length -= sizeof(FILE_ACCESS_INFORMATION) + sizeof(FILE_MODE_INFORMATION) + sizeof(FILE_ALIGNMENT_INFORMATION);
|
||||
AllInfo = (PFILE_ALL_INFORMATION)Buffer;
|
||||
NpQueryBasicInfo(Ccb, &AllInfo->BasicInformation, &Length);
|
||||
NpQueryStandardInfo(Ccb, &AllInfo->StandardInformation, &Length, NamedPipeEnd);
|
||||
@@ -441,7 +441,6 @@ NpCommonQueryInformation(IN PDEVICE_OBJECT DeviceObject,
|
||||
NpQueryEaInfo(Ccb, &AllInfo->EaInformation, &Length);
|
||||
NpQueryPositionInfo(Ccb, &AllInfo->PositionInformation, &Length, NamedPipeEnd);
|
||||
Status = NpQueryNameInfo(Ccb, &AllInfo->NameInformation, &Length);
|
||||
Length += 96;
|
||||
break;
|
||||
|
||||
case FileEaInformation:
|
||||
@@ -453,7 +452,7 @@ NpCommonQueryInformation(IN PDEVICE_OBJECT DeviceObject,
|
||||
break;
|
||||
}
|
||||
|
||||
Irp->IoStatus.Information = IoStack->Parameters.Read.Length - Length;
|
||||
Irp->IoStatus.Information = IoStack->Parameters.QueryFile.Length - Length;
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
@@ -604,7 +604,7 @@ NpTransceive(IN PDEVICE_OBJECT DeviceObject,
|
||||
NewIrp->Tail.Overlay.Thread = Irp->Tail.Overlay.Thread;
|
||||
NewIrp->IoStatus.Information = BytesWritten;
|
||||
|
||||
IoStack->Parameters.Read.Length = BytesWritten;
|
||||
IoStack->Parameters.Write.Length = BytesWritten;
|
||||
IoStack->MajorFunction = IRP_MJ_WRITE;
|
||||
|
||||
if (BytesWritten > 0) NewIrp->Flags = IRP_DEALLOCATE_BUFFER | IRP_BUFFERED_IO;
|
||||
|
||||
Reference in New Issue
Block a user