Partager via


IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)

Les propriétés d’emplacement des bandes dans un périphérique de stockage géré par bande sont modifiées avec la demande IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION .

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

La mémoire tampon sur Irp-AssociatedIrp.SystemBuffer> doit contenir une structure SET_BAND_LOCATION_PARAMETERS suivie des structures AUTH_KEY et BAND_LOCATION_INFO.

Si le membre AuthKeyOffset 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 État .

Valeur d’état Description
STATUS_SUCCESS Les propriétés d’emplacement de la bande ont été modifiées.
STATUS_INVALID_DEVICE_REQUEST Le périphérique 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. Le périphérique de stockage peut être incompatible avec les protocoles de sécurité.

Remarques

Les données dans les LBA qui restent après le redimensionnement ne sont pas modifiées par l’opération. En outre, il n’est pas nécessaire de démonter un volume pendant une opération de redimensionnement si la plage DBA qui s’étend sur le volume reste dans la bande après le redimensionnement.

Les modifications apportées à la table de bandes par cette requête sont validées sur l’appareil de manière atomique avant la fin de la requête IOCTL. Par conséquent, il est garanti que la bande est modifiée avec toutes ses propriétés définies ou aucune propriété définie si un système ou une panne de courant se produit.

Le membre BandSize de BAND_LOCATION_INFO doit être supérieur à 0. Cet IOCTL ne peut pas redimensionner une bande sur 0 pour provoquer une suppression de bande. Pour supprimer une bande, la requête IOCTL_EHSTOR_BANDMGMT_DELETE_BAND est utilisée.

Si BAND_LOCATION_INFO spécifie des propriétés pour la bande globale, BandStart doit avoir la valeur 0 et BandSize doit avoir la valeur –1.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8
En-tête ehstorbandmgmt.h (inclure EhStorBandMgmt.h)

Voir aussi

BAND_LOCATION_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_LOCATION_PARAMETERS