FSCTL_SET_INTEGRITY_INFORMATION IOCTL (winioctl.h)

检索 ReFS 卷上文件或目录的完整性状态。

若要执行此作,请使用以下参数调用 DeviceIoControl 函数。

BOOL DeviceIoControl(
  (HANDLE) hDevice,                     // handle to file or directory
  FSCTL_SET_INTEGRITY_INFORMATION,      // dwIoControlCode
  (LPDWORD) pInBuffer,                  // FSCTL_SET_INTEGRITY_INFORMATION_BUFFER
  (DWORD) InBufferSize,                 // size of input buffer
  (LPDWORD) NULL,                       // pOutBuffer
  (DWORD) 0,                            // OutBufferSize
  (LPDWORD) NULL,                       // lpBytesReturned
  (LPOVERLAPPED) lpOverlapped           // OVERLAPPED structure
);

注解

如果使用 ReplaceFile 将文件替换为完整性集,并且 lpBackupFileName 参数指向没有完整性集的位置,则不会保留原始文件的完整性状态。

写入完整性流始终是群集大小的。 从完整性流读取始终在 16 KB 块中完成。 这可能会导致读取失败,即使损坏的区域不在正在读取的区域。 例如,如果在文件中的偏移量为 0 处读取 4 KB,并且文件中有从 12 KB 开始的损坏,则读取会失败 ERROR_DATA_CHECKSUM_ERROR(0x143)。

要求

Requirement 价值
最低支持的客户端 无受支持的版本
支持的最低服务器 Windows Server 2012 [仅限桌面应用]
Header winioctl.h (包括 Windows.h)

另请参阅