IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)
Les propriétés d’emplacement des bandes d’un appareil de stockage géré par bande sont modifiées avec la demande de IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION.
Code principal
Mémoire tampon d’entrée
La mémoire tampon à Irp->AssociatedIrp.SystemBuffer doit contenir une structure SET_BAND_LOCATION_PARAMETERS suivie des structures AUTH_KEY et BAND_LOCATION_INFO.
Si le AuthKeyOffset membre de SET_BAND_LOCATION_PARAMETERS est défini sur EHSTOR_BANDMGR_NO_KEY, les données d’entrée dans la mémoire tampon système n’ont pas besoin d’inclure une structure AUTH_KEY.
Longueur de la mémoire tampon d’entrée
Parameters.DeviceIoControl.InputBufferLength indique la taille, en octets, de la mémoire tampon, qui doit être au moins sizeof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO).
Mémoire tampon de sortie
Aucun.
Longueur de la mémoire tampon de sortie
Aucun.
Bloc d’état
L’une des valeurs suivantes peut être retournée dans le champ Status.
Valeur d’état | Description |
---|---|
STATUS_SUCCESS | Les propriétés d’emplacement de la bande ont été modifiées. |
STATUS_INVALID_DEVICE_REQUEST | L’appareil de stockage ne prend pas en charge la gestion des bandes. |
STATUS_INVALID_BUFFER_SIZE | La taille de la mémoire tampon d’entrée n’est pas valide. |
STATUS_INVALID_PARAMETER | Les informations contenues dans la mémoire tampon d’entrée ne sont pas valides. |
STATUS_NOT_FOUND | La bande n’a pas été trouvée pour les critères de sélection fournis. |
STATUS_ACCESS_DENIED | La clé d’authentification fournie n’est pas valide. |
STATUS_IO_DEVICE_ERROR | Échec de la communication. L’appareil de stockage peut être incompatible avec les protocoles de sécurité. |
Remarques
Les données dans les LBA qui restent après le redimensionnement n’ont pas été modifiées par l’opération. En outre, il est inutile de démonter un volume pendant une opération de redimensionnement si la plage LBA qui s’étend sur le volume reste dans la bande après le redimensionnement.
Les modifications apportées à la table de bande par cette demande sont validées sur l’appareil de manière atomique avant la fin de la demande IOCTL. Par conséquent, il est garanti que la bande est modifiée avec toutes ses propriétés définies ou qu’aucune propriété n’est définie du tout si un système ou une panne d’alimentation se produit.
Le BandSize membre de BAND_LOCATION_INFO doit être supérieur à 0. Cette IOCTL ne peut pas redimensionner une bande sur 0 pour provoquer la suppression d’une bande. Pour supprimer une bande, la requête IOCTL_EHSTOR_BANDMGMT_DELETE_BAND est utilisée.
Si BAND_LOCATION_INFO spécifie les propriétés de la bande globale, BandStart doit être défini sur 0 et BandSize doit être défini sur –1.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 8 |
d’en-tête | ehstorbandmgmt.h (include EhStorBandMgmt.h) |