перечисление 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 для данного устройства, он должен перенаправить запрос в стек.
* Если драйвер не может поддерживать BypassIO для данного устройства, он должен:
* Обновите структуру BPIO_OUTPUT , включая операцию NTSTATUS, описывающую, почему запрос на включение был наложен вето, имя драйвера и уникальную описательную строку с дополнительными сведениями о том, почему он нажал вето на запрос на включение.
* Выполните IOCTL_STORAGE_MANAGE_BYPASS_IO с помощью STATUS_SUCCESS.

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

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

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

BPIO_OP_DISABLE
Запрашивает отключение BypassIO для заданного тома или диска. Это позволяет драйверу очищать любое связанное состояние BypassIO.

Файловая система отправляет эту операцию при отключении или закрытии последнего файла с поддержкой 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