IOCTL_DISK_REASSIGN_BLOCKS IOCTL (winioctl.h)
1 つ以上のブロックをそのスペア ブロック プールにマップするようにディスク デバイスに指示します。
この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_DISK_REASSIGN_BLOCKS, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
解説
IOCTL_DISK_REASSIGN_BLOCKS制御コードで使用されるREASSIGN_BLOCKS構造では、論理ブロック アドレス (LBA) が 4 バイト値 (通常は最大 2 TB) に収まるドライブのみがサポートされます。 大きなドライブの場合、 IOCTL_DISK_REASSIGN_BLOCKS_EX 制御コードで使用される REASSIGN_BLOCKS_EX 構造では、8 バイトの LBA がサポートされます。 互換性を保つには、 IOCTL_DISK_REASSIGN_BLOCKS 制御コードと REASSIGN_BLOCKS 構造を可能な限り使用する必要があります。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winioctl.h (Windows.h を含む) |