mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 14:53:40 +00:00
[CDFS]
Add IRP_MJ_QUERY_VOLUME_INFORMATION.FileFsFullSizeInformation to CDFS too. svn path=/trunk/; revision=67999
This commit is contained in:
parent
ec3eb2d675
commit
9e959dc0a3
1 changed files with 39 additions and 1 deletions
|
@ -171,6 +171,38 @@ CdfsGetFsDeviceInformation(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
NTSTATUS
|
||||||
|
CdfsGetFsFullSizeInformation(
|
||||||
|
PDEVICE_OBJECT DeviceObject,
|
||||||
|
PFILE_FS_FULL_SIZE_INFORMATION FsSizeInfo,
|
||||||
|
PULONG BufferLength)
|
||||||
|
{
|
||||||
|
PDEVICE_EXTENSION DeviceExt;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
DPRINT("CdfsGetFsFullSizeInformation()\n");
|
||||||
|
DPRINT("FsSizeInfo = %p\n", FsSizeInfo);
|
||||||
|
|
||||||
|
if (*BufferLength < sizeof(FILE_FS_FULL_SIZE_INFORMATION))
|
||||||
|
return STATUS_BUFFER_OVERFLOW;
|
||||||
|
|
||||||
|
DeviceExt = DeviceObject->DeviceExtension;
|
||||||
|
|
||||||
|
FsSizeInfo->TotalAllocationUnits.QuadPart = DeviceExt->CdInfo.VolumeSpaceSize;
|
||||||
|
FsSizeInfo->CallerAvailableAllocationUnits.QuadPart = 0;
|
||||||
|
FsSizeInfo->ActualAvailableAllocationUnits.QuadPart = 0;
|
||||||
|
FsSizeInfo->SectorsPerAllocationUnit = 1;
|
||||||
|
FsSizeInfo->BytesPerSector = BLOCKSIZE;
|
||||||
|
|
||||||
|
DPRINT("Finished CdfsGetFsFullSizeInformation()\n");
|
||||||
|
if (NT_SUCCESS(Status))
|
||||||
|
*BufferLength -= sizeof(FILE_FS_FULL_SIZE_INFORMATION);
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
CdfsQueryVolumeInformation(
|
CdfsQueryVolumeInformation(
|
||||||
|
@ -216,7 +248,7 @@ CdfsQueryVolumeInformation(
|
||||||
Status = CdfsGetFsSizeInformation(DeviceObject,
|
Status = CdfsGetFsSizeInformation(DeviceObject,
|
||||||
SystemBuffer,
|
SystemBuffer,
|
||||||
&BufferLength);
|
&BufferLength);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FileFsDeviceInformation:
|
case FileFsDeviceInformation:
|
||||||
Status = CdfsGetFsDeviceInformation(DeviceObject,
|
Status = CdfsGetFsDeviceInformation(DeviceObject,
|
||||||
|
@ -224,6 +256,12 @@ CdfsQueryVolumeInformation(
|
||||||
&BufferLength);
|
&BufferLength);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case FileFsFullSizeInformation:
|
||||||
|
Status = CdfsGetFsFullSizeInformation(DeviceObject,
|
||||||
|
SystemBuffer,
|
||||||
|
&BufferLength);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Status = STATUS_NOT_SUPPORTED;
|
Status = STATUS_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue