【问题标题】:Get cluster size获取集群大小
【发布时间】:2013-03-21 12:25:45
【问题描述】:

我正在开发一个以 diskperf 为基础的高容量过滤器驱动程序。
我想知道如何计算集群大小(分配单元大小)。
我知道使用GetDiskFreeSpace 可以获得所需的输出,但它仅在用户模式下有用。
我希望它在内核级别工作。
是否有任何 IOCTL 或任何函数可以帮助我找到集群大小?

【问题讨论】:

  • 你试试看能不能看GetDiskFreeSpace()的出处?它应该自己调用 IOCTL。
  • 谢谢回复,请问GetDiskFreeSpace()的源码在哪里?

标签: c windows kernel driver volume


【解决方案1】:

ZwQueryVolumeInformationFile/NtQueryVolumeInformationFile 将 FsInformationClass 设置为 FILE_FS_SIZE_INFORMATION 结构。

或使用IRP_MJ_QUERY_VOLUME_INFORMATION

【讨论】:

  • 嗨,谢谢 Xearinox,您能否提供任何示例或示例或任何链接来说明 IRP_MJ_QUERY_VOLUME_INFORMATIONZwQueryVolumeInformationFile/NtQueryVolumeInformationFile 与高容量过滤器驱动程序的使用,因为我试图搜索示例IRP_MJ_QUERY_VOLUME_INFORMATION 音量较大,但我没有得到任何帮助。
猜你喜欢
  • 2019-06-02
  • 2018-02-19
  • 2015-11-21
  • 2010-11-07
  • 2016-06-28
  • 2021-10-20
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
相关资源
最近更新 更多