MSDN C++代码仅显示如何从缓冲区开始获取更改日志记录。MSDN Code for Reading Change Journal。
我的问题是如何从变更日志中仅获取最新的USN记录。我已经根据我的需求增加了缓冲区大小。此外,我不能将缓冲区设置为最大大小,因为它违反了#define BUF_LEN 789824最大大小限制。
命令fsutils usn readjournal c:需要很长时间才能显示输出。那么,如何使用c++从日志中仅获取最新的记录呢?
发布于 2020-06-02 12:49:37
添加较大的缓冲区会导致较大的内存分配,进而导致性能下降。一种解决方法是保持#define BUF_LEN 4096 (一个较小的值),并将迭代次数的值增加到更改日志的最大大小。
for (I = 0; I <= 2415919104; I++)在这里,较大的值只是fsutil usn queryjournal C: (或任何NTFS日志)返回的输出。Maximum Size : 0x0000000090000000。(将十六进制值转换为十进制值)
这对我很有效。希望这对某些人有帮助。
https://stackoverflow.com/questions/62128669
复制相似问题