IOCTL_DISK_REASSIGN_BLOCKS IOCTL (winioctl.h)

Direciona o dispositivo de disco para mapear um ou mais blocos para seu pool de blocos sobressalentes.

Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.

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
);

Comentários

A estrutura REASSIGN_BLOCKS que o código de controle IOCTL_DISK_REASSIGN_BLOCKS usa dá suporte apenas a unidades em que o LBA (Endereço de Bloco Lógico) se encaixa em um valor de 4 bytes (normalmente até 2 TB). Para unidades maiores, a estrutura de REASSIGN_BLOCKS_EX que o código de controle IOCTL_DISK_REASSIGN_BLOCKS_EX usa dá suporte a LBAs de 8 bytes. Para compatibilidade, o código de controle IOCTL_DISK_REASSIGN_BLOCKS e a estrutura REASSIGN_BLOCKS devem ser usados sempre que possível.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winioctl.h (inclua Windows.h)

Confira também