+NTSTATUS
+NTAPI
+FatiQueryFsSizeInfo(PVCB Vcb,
+ PFILE_FS_SIZE_INFORMATION Buffer,
+ PLONG Length)
+{
+ FF_PARTITION *Partition;
+ NTSTATUS Status = STATUS_SUCCESS;
+
+ /* Deduct the minimum written length */
+ *Length -= sizeof(FILE_FS_SIZE_INFORMATION);
+
+ /* Zero it */
+ RtlZeroMemory(Buffer, sizeof(FILE_FS_SIZE_INFORMATION));
+
+ /* Reference FullFAT's partition */
+ Partition = Vcb->Ioman->pPartition;
+
+ /* Set values */
+ Buffer->AvailableAllocationUnits.LowPart = Partition->FreeClusterCount;
+ Buffer->TotalAllocationUnits.LowPart = Partition->NumClusters;
+ Buffer->SectorsPerAllocationUnit = Vcb->Bpb.SectorsPerCluster;
+ Buffer->BytesPerSector = Vcb->Bpb.BytesPerSector;
+
+ DPRINT1("Total %d, free %d, SPC %d, BPS %d\n", Partition->FreeClusterCount,
+ Partition->NumClusters, Vcb->Bpb.SectorsPerCluster, Vcb->Bpb.BytesPerSector);
+
+ return Status;
+}
+