IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)
Le proprietà di posizione delle bande in un dispositivo di archiviazione gestito da banda vengono modificate con la richiesta di IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION.
Codice principale
Buffer di input
Il buffer in corrispondenza di Irp->AssociatedIrp.SystemBuffer deve contenere una struttura SET_BAND_LOCATION_PARAMETERS seguita dalle strutture AUTH_KEY e BAND_LOCATION_INFO.
Se il membro di SET_BAND_LOCATION_PARAMETERS AuthKeyOffset è impostato su EHSTOR_BANDMGR_NO_KEY, i dati di input nel buffer di sistema non devono includere una struttura AUTH_KEY.
Lunghezza del buffer di input
Parameters.DeviceIoControl.InputBufferLength indica le dimensioni, in byte, del buffer, che devono essere almeno sizeof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO).
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à della posizione 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 | La banda non è stata trovata 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
I dati in LBA che rimangono dopo il ridimensionamento non sono modificati dall'operazione. Inoltre, non è necessario smontare un volume durante un'operazione di ridimensionamento se l'intervallo LBA che si estende sul volume rimane all'interno della banda dopo il ridimensionamento.
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.
Il membro BandSize di BAND_LOCATION_INFO deve essere maggiore di 0. Questo IOCTL non può ridimensionare una banda a 0 per causare l'eliminazione di una banda. Per eliminare una banda, viene usata la richiesta di IOCTL_EHSTOR_BANDMGMT_DELETE_BAND.
Se BAND_LOCATION_INFO specifica le proprietà per la banda globale, BandStart deve essere impostato su 0 e BandSize deve essere impostato su -1.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8 |
intestazione | ehstorbandmgmt.h (include EhStorBandMgmt.h) |