FSCTL_USN_TRACK_MODIFIED_RANGES IOCTL (winioctl.h)
为目标卷上的更新序列号 (USN) 变更日志流启用范围跟踪功能,或修改已启用的范围跟踪参数。
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to volume
FSCTL_USN_TRACK_MODIFIED_RANGES, // dwIoControlCode
(LPDWORD) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
(LPDWORD) lpOutBuffer, // lpOutbuffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
注解
有关重叠 I/O 对此操作的影响,请参阅 DeviceIoControl 主题的“备注”部分。
可以使用 FSCTL_USN_TRACK_MODIFIED_RANGES 为卷首次启用范围跟踪。 启用范围跟踪后,将为该卷保留状态和参数,并在下次重新启动时初始化从持久化参数读取的范围跟踪。
还可以使用 FSCTL_USN_TRACK_MODIFIED_RANGES 来修改现有的更改日记流范围跟踪参数。 如果范围跟踪已存在, FSCTL_USN_TRACK_MODIFIED_RANGES 将其设置为 USN_TRACK_MODIFIED_RANGES 结构中提供的参数。 区块大小或文件大小阈值只能从以前的值降低。 启用后,除非删除日志,否则无法禁用范围跟踪功能。
若要检索卷的句柄,请调用 CreateFile ,并将 lpFileName 参数设置为以下格式的字符串:
\\。\X:
在前面的字符串中,X 是标识卷所在的驱动器的字母。 卷必须是 NTFS 3.0 或更高版本。 若要获取卷的 NTFS 版本,请使用管理员访问权限打开命令提示符并执行以下命令:
fsutil fsinfo ntfsinfoX:
其中 X 是卷的驱动器号。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 R2 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈