Share via


IOCTL_DISK_REASSIGN_BLOCKS_EX IOCTL (ntdddisk.h)

Mappe les blocs défectueux à un nouvel emplacement sur le disque. Cette demande indique à l’appareil de réaffecter l’adresse de bloc incorrecte à un bon bloc à partir de son pool de blocs de rechange.

Une requête IOCTL_DISK_REASSIGN_BLOCKS_EX permet d’attribuer un plus grand nombre de blocs que la demande de IOCTL_DISK_REASSIGN_BLOCKS .

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

La mémoire tampon dans Irp-AssociatedIrp.SystemBuffer> contient les valeurs REASSIGN_BLOCKS_EX à définir. Notez que cette structure contient un tableau de taille variable de nombres de blocs. Il incombe à l’appelant de s’assurer que le tableau des numéros de bloc est trié dans l’ordre croissant.

Longueur de la mémoire tampon d’entrée

Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon, qui doit être >= sizeof(REASSIGN_BLOCKS_EX).

Mémoire tampon de sortie

Aucun.

Longueur de la mémoire tampon de sortie

Aucun.

Bloc d’état

Le champ Informations est défini sur zéro. Le champ État peut être défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES ou STATUS_BUFFER_TOO_SMALL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
En-tête ntdddisk.h (incluez Ntdddisk.h)

Voir aussi

REASSIGN_BLOCKS_EX