IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)
Las propiedades de ubicación de las bandas de un dispositivo de almacenamiento administrado por banda se modifican con la solicitud de IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION .
Código principal
Búfer de entrada
El búfer de Irp-AssociatedIrp.SystemBuffer> debe contener una estructura de SET_BAND_LOCATION_PARAMETERS seguida de las estructuras de AUTH_KEY y BAND_LOCATION_INFO.
Si el miembro AuthKeyOffset de SET_BAND_LOCATION_PARAMETERS se establece en EHSTOR_BANDMGR_NO_KEY, los datos de entrada del búfer del sistema no necesitan incluir una estructura AUTH_KEY .
Longitud del búfer de entrada
Parameters.DeviceIoControl.InputBufferLength indica el tamaño, en bytes, del búfer, que debe ser al menos sizeof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO).
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
Se puede devolver uno de los valores siguientes en el campo Estado .
Valor de estado | Descripción |
---|---|
STATUS_SUCCESS | Se cambiaron las propiedades de ubicación de la banda. |
STATUS_INVALID_DEVICE_REQUEST | El dispositivo de almacenamiento no admite la administración de bandas. |
STATUS_INVALID_BUFFER_SIZE | El tamaño del búfer de entrada no es válido. |
STATUS_INVALID_PARAMETER | La información del búfer de entrada no es válida. |
STATUS_NOT_FOUND | No se encontró la banda para los criterios de selección proporcionados. |
STATUS_ACCESS_DENIED | La clave de autenticación proporcionada no es válida. |
STATUS_IO_DEVICE_ERROR | Error de comunicación. El dispositivo de almacenamiento podría ser incompatible con los protocolos de seguridad. |
Comentarios
La operación no modifica los datos de lbAs que permanecen después de cambiar el tamaño. Además, no es necesario desmontar un volumen durante una operación de cambio de tamaño si el intervalo LBA que abarca el volumen permanece dentro de la banda después de cambiar el tamaño.
Los cambios realizados en la tabla de bandas por esta solicitud se confirman en el dispositivo de forma atómica antes de que se complete la solicitud IOCTL. Por lo tanto, se garantiza que la banda se modifique con todas sus propiedades establecidas o que no se establezca ninguna propiedad en absoluto si se produce un error de alimentación o sistema.
El miembro BandSize de BAND_LOCATION_INFO debe ser mayor que 0. Este IOCTL no puede cambiar el tamaño de una banda a 0 para provocar una eliminación de banda. Para eliminar una banda, se usa la solicitud IOCTL_EHSTOR_BANDMGMT_DELETE_BAND .
Si BAND_LOCATION_INFO especifica las propiedades de la banda global, BandStart debe establecerse en 0 y BandSize debe establecerse en –1.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8 |
Encabezado | ehstorbandmgmt.h (incluya EhStorBandMgmt.h) |