IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL (ehstorbandmgmt.h)
This IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS request is sent to retrieve the list of bands for a storage device under band management. Banding information is returned in a table of band entries that includes band location and security properties.
Major code
Input buffer
The buffer at Irp->AssociatedIrp.SystemBuffer must contain an ENUMERATE_BANDS_PARAMETERS structure.
Input buffer length
Parameters.DeviceIoControl.InputBufferLength indicates the size, in bytes, of the buffer, which must be at least sizeof (ENUMERATE_BANDS_PARAMETERS).
Output buffer
The buffer at Irp->AssociatedIrp.SystemBuffer contains a BAND_TABLE structure followed by BandTableEntryCount band entries.
Output buffer length
The length of a BAND_TABLE structure followed by BandTableEntryCount band entries.
Status block
The Information field contains the number of bytes returned in the output buffer. One of the following values can be returned in the Status field.
Status Value | Description |
---|---|
STATUS_SUCCESS | Security features on the storage device were deactivated. |
STATUS_INVALID_DEVICE_REQUEST | The storage device does not support band management. |
STATUS_INVALID_BUFFER_SIZE | The input buffer size is invalid. |
STATUS_INVALID_PARAMETER | Information in the input buffer is invalid. |
STATUS_NOT_FOUND | No bands are configured for the enumeration parameters provided. |
STATUS_BUFFER_OVERFLOW | A buffer is not provided or its size set to zero. The required size is returned in the Information field. |
STATUS_IO_DEVICE_ERROR | Communication failed. The storage device might be incompatible with security protocols. |
STATUS_BUFFER_TOO_SMALL | The output buffer supplied is not large enough to hold the output data returned. |
Remarks
A driver or application can query for the necessary output buffer size by setting the output buffer for the request to NULL and the output size to 0. The IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS request will return with the Status field of the IoStatus block set to STATUS_BUFFER_OVERFLOW and the Information field will contain the required buffer size.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Header | ehstorbandmgmt.h (include EhStorBandMgmt.h) |
See also
ENUMERATE_BANDS_PARAMETERS