IOCTL_DISK_REASSIGN_BLOCKS 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.
Code principal
Mémoire tampon d'entrée
La mémoire tampon dans Irp-AssociatedIrp.SystemBuffer> contient les valeurs REASSIGN_BLOCKS à 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).
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 |
---|---|
En-tête | ntdddisk.h (incluez Ntdddisk.h) |