从 Change Journal 获取最新的 USN 数据
Get latest USN data from Change Journal
MSDN C++代码只展示了如何从缓冲区开始获取更改日志记录。
MSDN Code for Reading Change Journal.
我的问题是如何从 Change journal 中获取最新的 USN 记录。我已将缓冲区大小增加到我的要求。
#define BUF_LEN 789824
此外,我无法将缓冲区设置为最大大小,因为它违反了 DWORD 最大大小限制。
命令fsutils usn readjournal c:
需要很长时间才能显示输出。那么,如何使用 C++ 仅从日志中获取最新记录?
添加大缓冲区会导致分配大量内存,进而导致性能下降。解决方法是保留 #define BUF_LEN 4096
(一个小值)并将迭代值增加到更改日志的最大大小。
for (I = 0; I <= 2415919104; I++)
此处,较大的值只是 fsutil usn queryjournal C:
(或任何 NTFS 日志)返回的输出。 Maximum Size : 0x0000000090000000
。 (将十六进制值转换为十进制值)
这对我有用。希望这对某人有所帮助。
MSDN C++代码只展示了如何从缓冲区开始获取更改日志记录。 MSDN Code for Reading Change Journal.
我的问题是如何从 Change journal 中获取最新的 USN 记录。我已将缓冲区大小增加到我的要求。
#define BUF_LEN 789824
此外,我无法将缓冲区设置为最大大小,因为它违反了 DWORD 最大大小限制。
命令fsutils usn readjournal c:
需要很长时间才能显示输出。那么,如何使用 C++ 仅从日志中获取最新记录?
添加大缓冲区会导致分配大量内存,进而导致性能下降。解决方法是保留 #define BUF_LEN 4096
(一个小值)并将迭代值增加到更改日志的最大大小。
for (I = 0; I <= 2415919104; I++)
此处,较大的值只是 fsutil usn queryjournal C:
(或任何 NTFS 日志)返回的输出。 Maximum Size : 0x0000000090000000
。 (将十六进制值转换为十进制值)
这对我有用。希望这对某人有所帮助。