检索 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) |