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 结构中提供的参数。 块大小或文件大小阈值只能从以前的值中降低。 启用后,除非删除日记,否则无法禁用范围跟踪功能。

若要检索卷的句柄,请调用将 lpFileName 参数设置为以下形式的字符串的 CreateFile\\.\X:

在前面的字符串中,X 是标识卷所在的驱动器的字母。 卷必须是 NTFS 3.0 或更高版本。 若要获取卷的 NTFS 版本,请使用管理员访问权限打开命令提示符并执行以下命令(其中 X 是卷的驱动器号): fsutil fsinfo ntfsinfo X:

如果请求成功,则 Irp-IoStatus.Status> 设置为STATUS_SUCCESS。 否则,状态设置为 NTSTATUS 代码的相应错误条件。 有关详细信息,请参阅 NTSTATUS 值

要求

要求 价值
最低支持的客户端 Windows 8.1 [仅限桌面应用]
支持的最低服务器 Windows Server 2012 R2 [仅限桌面应用]
Header winioctl.h (包括 Windows.h)

另请参阅