文件系统驱动,无法获得自开发的文件系统卷大小

weixin_38049216 2016-07-12 01:50:13
使用以下脚本获得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); 

    } 
 
}

...全文
20 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧