2013-03-21 79 views
1

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

+0

您是否尝试过看看是否可以查看GetDiskFreeSpace()的来源?它应该让IOCTL自己调用。 – Mike 2013-03-21 12:42:17

+0

嘿感谢您的回复,我在哪里可以得到GetDiskFreeSpace()的来源? – user1878817 2013-03-21 12:58:20

回答

1

ZwQueryVolumeInformationFile/NtQueryVolumeInformationFile将FsInformationClass设置为FILE_FS_SIZE_INFORMATION struct。

或使用IRP_MJ_QUERY_VOLUME_INFORMATION

+0

嗨,谢谢Xearinox,你能给我提供任何示例或示例或任何链接,说明使用'IRP_MJ_QUERY_VOLUME_INFORMATION'或'ZwQueryVolumeInformationFile/NtQueryVolumeInformationFile'与上卷过滤器驱动程序,因为我试图搜索'IRP_MJ_QUERY_VOLUME_INFORMATION'示例与上但我没有得到任何帮助。 – user1878817 2013-03-21 14:45:02