在进行 USN 日志/NTFS MFT 文件枚举之前
while (DeviceIoControl(hDrive, FSCTL_ENUM_USN_DATA, &med, sizeof(med), pData, sizeof(pData), &cb, NULL))
{
// do stuff here
med.StartFileReferenceNumber = *((DWORDLONG*) pData); // pData contains FRN for next FSCTL_ENUM_USN_DATA
}
我想知道文件/目录的数量(“保留”一个 std::vector:v.reserve(...)
以及其他原因)。
我FSCTL_QUERY_USN_JOURNAL
之前考虑过使用,它提供了USN_JOURNAL_DATA_V0
有关音量的包含信息。
不幸的是,FirstUsn
不要提供此信息。即使我的卷上有 100k 个文件,例如可以是 1000 万个,所以它没有给出正确的数量级。NextUsn
MaxUsn
NextUsn
如何在执行 FSCTL_ENUM_USN_DATA 之前获取文件/目录的数量?