IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY IOCTL (ehstorbandmgmt.h)
Las propiedades de seguridad de las bandas de un dispositivo de almacenamiento administrado por banda se modifican con la solicitud de IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY .
Código principal
Búfer de entrada
El búfer de Irp-AssociatedIrp.SystemBuffer> debe contener una estructura de SET_BAND_SECURITY_PARAMETERS seguida de las estructuras AUTH_KEY y BAND_SECURITY_INFO.
Si el miembro AuthKeyOffset de SET_BAND_SECURITY_PARAMETERS se establece en EHSTOR_BANDMGR_NO_KEY, los datos de entrada del búfer del sistema no necesitan incluir una estructura de AUTH_KEY . Además, si no se proporciona una nueva clave de autenticación, no se incluye ninguna estructura de clave actualizada.
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_SECURITY_PARAMETERS) + 2 * sizeof(AUTH_KEY) + sizeof(BAND_SECURITY_INFO) cuando se requieren todas las estructuras de entrada.
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 seguridad 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ó una 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
El bloqueo y desbloqueo de lectura y escritura para bandas se establecen con este IOCTL en la estructura BAND_SECURITY_INFO incluida como entrada en el búfer del sistema.
Los cambios de clave de autenticación no afectarán al estado de bloqueo de la banda. No es necesario desmontar un volumen para cambiar una clave de autenticación con esta solicitud.
Cuando se desbloquea una banda, lo que significa que los miembros Readlock o WriteLock de BAND_SECURITY_INFO son FALSE, el controlador de silo almacenará en caché la clave de autenticación proporcionada si SETBANDSEC_AUTHKEY_CACHING_ENABLED se establece en el miembro Flags de SET_BAND_SECURITY_PARAMETERS.
Como caso especial, este IOCTL se puede usar para notificar al conductor del silo que una banda se desbloqueó sin el uso de los miembros de bloqueo en BAND_SECURITY_INFO. Para ello, el miembro NewAuthKeyOffset de SET_BAND_SECURITY_PARAMETERS se establece en CurrentAuthKeyOffset con BandSecurityInfoOffset establecido en 0. En este caso, no se producen cambios de seguridad, pero la clave proporcionada en CurrentAuthKeyOffset se almacena en caché en la memoria, siempre que SETBANDSEC_AUTHKEY_CACHING_ENABLED se establezca en Marcas.
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 en caso de que se produzca un error de alimentación o sistema.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8 |
Encabezado | ehstorbandmgmt.h (include EhStorBandMgmt.h) |