IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL (ehstorbandmgmt.h)
Этот IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS запрос отправляется для получения списка полос для запоминающего устройства под управлением диапазона. Сведения о диапазоне возвращаются в таблице записей диапазона, которая включает расположение полосы и свойства безопасности.
Основной код
Входной буфер
Буфер в Irp-AssociatedIrp.SystemBuffer> должен содержать ENUMERATE_BANDS_PARAMETERS структуру.
Длина входного буфера
Parameters.DeviceIoControl.InputBufferLength указывает размер буфера в байтах, который должен быть не менее sizeof (ENUMERATE_BANDS_PARAMETERS).
Выходной буфер
Буфер в Irp-AssociatedIrp.SystemBuffer> содержит BAND_TABLE структуру, за которой следуют записи bandTableEntryCount.
Длина выходного буфера
Длина BAND_TABLE структуры, за которой следуют записи bandTableEntryCount .
Блок состояния
Поле Information содержит количество байтов, возвращаемых в выходном буфере. Одно из следующих значений можно вернуть в поле Состояние .
Значение состояния | Описание |
---|---|
STATUS_SUCCESS | Функции безопасности на запоминающее устройство были отключены. |
STATUS_INVALID_DEVICE_REQUEST | Устройство хранения не поддерживает управление диапазоном. |
STATUS_INVALID_BUFFER_SIZE | Недопустимый размер входного буфера. |
STATUS_INVALID_PARAMETER | Недопустимые сведения во входном буфере. |
STATUS_NOT_FOUND | Для предоставленных параметров перечисления не настроены полосы. |
STATUS_BUFFER_OVERFLOW | Буфер не предоставляется или его размер равен нулю. Требуемый размер возвращается в поле Сведения . |
STATUS_IO_DEVICE_ERROR | Сбой связи. Устройство хранения может быть несовместимо с протоколами безопасности. |
STATUS_BUFFER_TOO_SMALL | Предоставленный выходной буфер недостаточно велик для хранения возвращаемых выходных данных. |
Комментарии
Драйвер или приложение может запрашивать необходимый размер выходного буфера, задав для этого запроса значение NULL, а размер выходных данных — 0. Запрос IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS возвращается с полем Состояние блока IoStatus , равным STATUS_BUFFER_OVERFLOW, а поле Information будет содержать требуемый размер буфера.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Верхняя часть | ehstorbandmgmt.h (включая EhStorBandMgmt.h) |
См. также раздел
ENUMERATE_BANDS_PARAMETERS