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) で失敗します。
要件
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
Header | winioctl.h (Windows.h を含む) |