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