文件系统驱动,无法获得自开发的文件系统卷大小
使用以下脚本获得E盘根目录的空间大小得到的总是0.通过截获api得到运行脚本后调用的api为
1.createfile
2.queryinformationvolume
3.filesystemcontrol Control:FSCTL_FILE_PREFETCH
4.closefile
请问,是第二个函数queryinformationvolume还是第三个函数filesystemcontrol获得卷的空间大小?自开发的文件系统并没有收到FSCTL_FILE_PREFETCH这样一个控制码的deviceioctrol。操作系统调用filesystemcontrol 是通过什么方式调用到我们的文件系统驱动中呢?谢谢!
import java.io.File;
public class test {
public static void main(String[] args) {
File file = new File("E:\\");
long totalSpace = file.getTotalSpace();
long freeSpace = file.getFreeSpace();
long usedSpace = totalSpace - freeSpace;
System.out.println("总空间大小 : " + totalSpace);
// System.out.println("剩余空间大小 : " + freeSpace);
// System.out.println("已用空间大小 : " + usedSpace);
}
}