2013-03-21 101 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