Partager via


IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY IOCTL (ehstorbandmgmt.h)

Les propriétés de sécurité des bandes d’un appareil de stockage géré par bande sont modifiées avec la demande de IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

La mémoire tampon à Irp->AssociatedIrp.SystemBuffer doit contenir une structure SET_BAND_SECURITY_PARAMETERS suivie des structures AUTH_KEY et BAND_SECURITY_INFO.

Si l'AuthKeyOffset membre de SET_BAND_SECURITY_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. En outre, si une nouvelle clé d’authentification n’est pas donnée, aucune structure de clé mise à jour n’est incluse.

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_SECURITY_PARAMETERS) + 2 * sizeof(AUTH_KEY) + sizeof(BAND_SECURITY_INFO) lorsque toutes les structures d’entrée sont requises.

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 de sécurité 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 Une 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

Le verrouillage et le déverrouillage en lecture et écriture pour les bandes sont définis avec cette IOCTL dans la structure BAND_SECURITY_INFO incluse comme entrée dans la mémoire tampon système.

Les modifications de clé d’authentification n’affectent pas l’état de verrouillage de la bande. Il n’est pas nécessaire de démonter un volume pour modifier une clé d’authentification avec cette demande.

Lorsqu’une bande est déverrouillée, ce qui signifie que le readlock ou membres WriteLock de BAND_SECURITY_INFO sont FAUX, le pilote de silo met en cache la clé d’authentification fournie si SETBANDSEC_AUTHKEY_CACHING_ENABLED est définie dans le Flags membre de SET_BAND_SECURITY_PARAMETERS.

En tant que cas spécial, ce IOCTL peut être utilisé pour informer le pilote de silo qu’une bande a été déverrouillée sans l’utilisation des membres de verrouillage dans BAND_SECURITY_INFO. Pour ce faire, le membre NewAuthKeyOffset de SET_BAND_SECURITY_PARAMETERS est défini sur CurrentAuthKeyOffset avec BandSecurityInfoOffset défini sur 0. Dans ce cas, aucune modification de sécurité ne se produit, mais la clé fournie à CurrentAuthKeyOffset est mise en cache en mémoire, à condition que SETBANDSEC_AUTHKEY_CACHING_ENABLED soit définie dans Indicateurs.

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.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8
d’en-tête ehstorbandmgmt.h (include EhStorBandMgmt.h)

Voir aussi

BAND_SECURITY_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_SECURITY_PARAMETERS