Condividi tramite


IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY IOCTL (ehstorbandmgmt.h)

Le proprietà di sicurezza delle bande in un dispositivo di archiviazione gestito da banda vengono modificate con la richiesta di IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Il buffer in corrispondenza di Irp->AssociatedIrp.SystemBuffer deve contenere una struttura SET_BAND_SECURITY_PARAMETERS seguita dalle strutture AUTH_KEY e BAND_SECURITY_INFO.

Se il AuthKeyOffset membro di SET_BAND_SECURITY_PARAMETERS è impostato su EHSTOR_BANDMGR_NO_KEY, i dati di input nel buffer di sistema non devono includere una struttura AUTH_KEY. Inoltre, se non viene specificata una nuova chiave di autenticazione, non è inclusa alcuna struttura di chiave aggiornata.

Lunghezza del buffer di input

Parameters.DeviceIoControl.InputBufferLength indica le dimensioni, in byte, del buffer, che devono essere almeno sizeof (SET_BAND_SECURITY_PARAMETERS) + 2 * sizeof(AUTH_KEY) + sizeof(BAND_SECURITY_INFO) quando sono necessarie tutte le strutture di input.

Buffer di output

Nessuno.

Lunghezza del buffer di output

Nessuno.

Blocco di stato

È possibile restituire uno dei valori seguenti nel campo Stato.

Valore di stato Descrizione
STATUS_SUCCESS Le proprietà di sicurezza per la banda sono state modificate.
STATUS_INVALID_DEVICE_REQUEST Il dispositivo di archiviazione non supporta la gestione della banda.
STATUS_INVALID_BUFFER_SIZE La dimensione del buffer di input non è valida.
STATUS_INVALID_PARAMETER Le informazioni nel buffer di input non sono valide.
STATUS_NOT_FOUND Non è stata trovata una banda per i criteri di selezione specificati.
STATUS_ACCESS_DENIED La chiave di autenticazione specificata non è valida.
STATUS_IO_DEVICE_ERROR Comunicazione non riuscita. Il dispositivo di archiviazione potrebbe non essere compatibile con i protocolli di sicurezza.

Osservazioni

Il blocco e lo sblocco di lettura e scrittura per le bande vengono impostati con questo IOCTL nella struttura BAND_SECURITY_INFO inclusa come input nel buffer di sistema.

Le modifiche della chiave di autenticazione non influiscono sullo stato di blocco della banda. Non è necessario smontare un volume per modificare una chiave di autenticazione con questa richiesta.

Quando una banda viene sbloccata, ovvero il Readlock o i membri writeLock di BAND_SECURITY_INFO sono FALSE, il driver silo memorizza nella cache la chiave di autenticazione fornita se SETBANDSEC_AUTHKEY_CACHING_ENABLED è impostata nel Flags membro di SET_BAND_SECURITY_PARAMETERS.

Come caso speciale, questo IOCTL può essere usato per notificare al driver silo che una banda è stata sbloccata senza l'uso dei membri di blocco in BAND_SECURITY_INFO. A tale scopo, il SET_BAND_SECURITY_PARAMETERS membro NewAuthKeyOffset è impostato su CurrentAuthKeyOffset con BandSecurityInfoOffset impostato su 0. In questo caso, non si verificano modifiche alla sicurezza, ma la chiave fornita in CurrentAuthKeyOffset viene memorizzata nella cache in memoria, purché SETBANDSEC_AUTHKEY_CACHING_ENABLED sia impostata in Flag.

Le modifiche apportate alla tabella band da questa richiesta vengono sottoposte al commit atomico del dispositivo prima del completamento della richiesta IOCTL. Pertanto, è garantito che la banda venga modificata con tutte le relative proprietà impostate o nessuna proprietà impostata in alcun caso in caso di errore di sistema o di alimentazione.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8
intestazione ehstorbandmgmt.h (include EhStorBandMgmt.h)

Vedere anche

BAND_SECURITY_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_SECURITY_PARAMETERS