Поделиться через


IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE IOCTL (ehstorioctl.h)

IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE запрос отправляется драйверами и приложениями silo для изменения состояния очереди устройства хранения. Запросы ввода-вывода в очереди запоминаемого устройства сохраняются, когда устройство временно не авторизовано.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Входной буфер в Irp-AssociatedIrp.SystemBuffer> содержит структуру ACT_QUEUE_STATE. ACT_QUEUE_STATE объявляется в ehstorioctl.h следующим образом.

typedef struct tagACT_QUEUE_STATE
{
    BOOLEAN fFrozen;
} ACT_QUEUE_STATE;

Длина входного буфера

Длина структуры ACT_QUEUE_STATE .

Выходной буфер

Нет.

Длина выходного буфера

Нет.

Блок состояния

В поле Состояние можно вернуть одно из следующих значений.

Значение состояния Описание
STATUS_SUCCESS Состояние очереди было успешно изменено.
STATUS_INVALID_BUFFER_SIZE Длина входного буфера слишком мала.
STATUS_ACCESS_DENIED Запрос IOCTL не был выдан драйвером бункера.

Комментарии

Драйверы или приложения silo могут заморозить очередь запросов ввода-вывода устройства хранения данных, если требуется временная несанкционированная проверка подлинности. Как правило, временная несанкционированная несанкционированная блокировка происходит во время состояний низкого энергопотребления или когда политика требует блокировки устройств расширенного хранилища, таких как заблокированный сеанс пользователя. В таком случае предпочтительнее поместить ожидающие запросы ввода-вывода на удержание, а не завершать запросы ввода-вывода и приводить к потере данных.

Чтобы предотвратить злоупотребление запросом IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE приложениями, только драйвер может выдать этот IOCTL. При отправке из приложения пользовательского режима этот запрос завершится ошибкой с STATUS_ACCESS_DENIED.

Требования

Требование Значение
Минимальная версия клиента Доступно, начиная с Windows 8
Верхняя часть ehstorioctl.h (включая EhStorIoctl.h)

См. также раздел

IOCTL_EHSTOR_DEVICE_GET_QUEUE_STATE