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 を含む)

関連項目