IOCTL_DISK_REASSIGN_BLOCKS IOCTL (ntdddisk.h)

Mapeia blocos defeituosos para um novo local no disco. Essa solicitação instrui o dispositivo a reatribuir o endereço de bloco inválido a um bom bloco de seu pool de blocos sobressalentes.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O buffer em Irp-AssociatedIrp.SystemBuffer> contém os valores REASSIGN_BLOCKS a serem definidos. Observe que essa estrutura contém uma matriz de tamanho variável de números de bloco. É responsabilidade do chamador garantir que a matriz de números de bloco seja classificada em ordem crescente.

Comprimento do buffer de entrada

Parameters.DeviceIoControl.InputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer, que deve ser >= sizeof(REASSIGN_BLOCKS).

Buffer de saída

Nenhum.

Comprimento do buffer de saída

Nenhum.

Bloco de status

O campo Informações é definido como zero. O campo Status pode ser definido como STATUS_SUCCESS ou possivelmente para STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES ou STATUS_BUFFER_TOO_SMALL.

Requisitos

Requisito Valor
Cabeçalho ntdddisk.h (inclua Ntdddisk.h)

Confira também

REASSIGN_BLOCKS