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