IOCTL_DISK_REASSIGN_BLOCKS_EX IOCTL (ntdddisk.h)
Asigna bloques defectuosos a una nueva ubicación en el disco. Esta solicitud indica al dispositivo que vuelva a asignar la dirección de bloque incorrecta a un buen bloque de su grupo de bloques de reserva.
Una solicitud de IOCTL_DISK_REASSIGN_BLOCKS_EX permite un mayor número de bloques para la asignación que la solicitud de IOCTL_DISK_REASSIGN_BLOCKS .
Código principal
Búfer de entrada
El búfer de Irp-AssociatedIrp.SystemBuffer> contiene los valores de REASSIGN_BLOCKS_EX que se van a establecer. Tenga en cuenta que esta estructura contiene una matriz de tamaño variable de números de bloque. Es responsabilidad del autor de la llamada asegurarse de que la matriz de números de bloque se ordena en orden ascendente.
Longitud del búfer de entrada
Parameters.DeviceIoControl.InputBufferLength en la ubicación de la pila de E/S del IRP indica el tamaño, en bytes, del búfer, que debe ser >= sizeof(REASSIGN_BLOCKS_EX).
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
El campo Información se establece en cero. El campo Estado se puede establecer en STATUS_SUCCESS, o posiblemente en STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES o STATUS_BUFFER_TOO_SMALL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8. |
Encabezado | ntdddisk.h (include Ntdddisk.h) |