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


перечисление BPIO_OPERATIONS (ntddstor.h)

BPIO_OPERATIONS определяет различные операции BypassIO, поддерживаемые кодом элемента управления IOCTL_STORAGE_MANAGE_BYPASS_IO.

Синтаксис

typedef enum _BPIO_OPERATIONS {
  BPIO_OP_ENABLE,
  BPIO_OP_DISABLE,
  BPIO_OP_QUERY
} BPIO_OPERATIONS;

Константы

 
BPIO_OP_ENABLE
Запросы, которые обходной код можно включить для заданного тома или диска (устройства), что означает, что драйвер может не видеть все операции чтения и записи для этого стека.

ЗАМЕТКА

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

В предварительной операции:

* Если драйвер может поддерживать BypassIO для данного устройства, он должен перенаправить запрос вниз стека.
* Если драйвер не может поддерживать BypassIO для данного устройства, он должен:
* Обновите структуру BPIO_OUTPUT, включая операцию NTSTATUS, описывающую, почему запрос включения был ветоирован, имя драйвера и уникальная, описательная строка с дополнительными сведениями о том, почему он ветоировал запрос на включение.
* Полный IOCTL_STORAGE_MANAGE_BYPASS_IO с STATUS_SUCCESS.

Во время выполнения операции драйвер может узнать, могут ли все драйверы ниже поддерживать BypassIO. Если да, драйвер должен сохранить любое необходимое состояние для файла и продолжить обработку завершения. Это ответственность драйвера для поддержания состояния для правильной обработки запросов, которые могут быть несовместимы с состоянием с поддержкой BypassIO.

Файловая система поддерживает количество файлов на том, сколько файлов в настоящее время включено в BypassIO. Операция BPIO_OP_ENABLE отправляется только в том случае, если это число переходит от нуля к одному.

Даже если драйвер стека томов или стека хранилища вето вето BypassIO, стек файловой системы может продолжать выполнять обход. Это связано с тем, что если у кого-то есть вето обход обхода обхода обходных фильтров в стеке томов, файловая система по-прежнему может обойти фильтры.

BPIO_OP_DISABLE
Запросы, отключаемые Обходным ключом для заданного тома или диска. Он позволяет драйверу очистить любое связанное состояние BypassIO.

Файловая система отправляет эту операцию при отключении или закрытии последнего файла с поддержкой Обхода (количество томов выполняется от одного до нуля).

Если драйвер получает BPIO_OP_DISABLE, но в настоящее время не включает BypassIO, он должен игнорировать запрос.

Эта операция не должна завершиться ошибкой.
BPIO_OP_QUERY
Запрашивает, можно ли включить BypassIO для заданного тома или диска.

Драйвер хранилища должен обрабатывать этот запрос, аналогичный операции BPIO_OP_ENABLE, заполняя те же диагностические сведения в соответствующих полях в структуре BPIO_OUTPUT. Основное различие заключается в том, что драйвер не вводит состояние BypassIO ENABLE во время запроса.

Замечания

Дополнительные сведения см. в разделе BypassIO для драйверов хранилища.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11
заголовка ntddstor.h

См. также

IOCTL_STORAGE_MANAGE_BYPASS_IO