Partilhar via


BPIO_OPERATIONS enumeração (ntddstor.h)

BPIO_OPERATIONS define as várias operações bypassIO compatíveis com o código de controle IOCTL_STORAGE_MANAGE_BYPASS_IO.

Sintaxe

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

Constantes

 
BPIO_OP_ENABLE
Solicitações para que o BypassIO seja habilitado para o determinado volume ou disco (dispositivo), o que significa que um driver pode não ver todas as leituras/gravações para essa pilha.

NOTA

Todos os drivers nas pilhas de volume e armazenamento têm a oportunidade de vetar a solicitação de habilitação do BypassIO, mas são incentivados a mantê-la habilitada o máximo possível.

Na pré-operação:

* Se um driver puder dar suporte ao BypassIO para o dispositivo especificado, ele deverá encaminhar a solicitação para baixo na pilha.
* Se um driver não puder dar suporte ao BypassIO para o dispositivo especificado, ele deverá:
* Atualize a estrutura de BPIO_OUTPUT, incluindo a operação NTSTATUS que descreve por que a solicitação de habilitação foi vetada, o nome do driver e uma cadeia de caracteres exclusiva e descritiva com detalhes adicionais sobre por que vetou a solicitação de habilitação.
* Conclua IOCTL_STORAGE_MANAGE_BYPASS_IO com STATUS_SUCCESS.

Durante a pós-operação, o driver pode ver se todos os drivers abaixo dele são capazes de dar suporte ao BypassIO. Se sim, o driver deve preservar qualquer estado necessário para o arquivo e continuar o processamento de conclusão. É responsabilidade do driver manter o estado para lidar corretamente com solicitações que podem não ser compatíveis com o estado habilitado para BypassIO.

O sistema de arquivos mantém uma contagem por volume de quantos arquivos têm o BypassIO habilitado no momento. A operação BPIO_OP_ENABLE é enviada somente quando essa contagem faz a transição de zero para um.

Mesmo que um driver de pilha de armazenamento ou volume vete o BypassIO, a pilha do sistema de arquivos poderá continuar a fazer BypassIO. Isso ocorre porque, se alguém vetou o BypassIO na pilha de volumes, o sistema de arquivos ainda poderá ignorar filtros.

BPIO_OP_DISABLE
Solicita que o BypassIO seja desabilitado para o volume/disco especificado. Ele permite que um driver limpe qualquer estado de BypassIO associado.

O sistema de arquivos envia essa operação quando o último arquivo habilitado para BypassIO está desabilitado ou fechado (sua contagem por volume faz a transição de um para zero).

Se um driver receber BPIO_OP_DISABLE mas não tiver o BypassIO habilitado no momento, ele deverá ignorar a solicitação.

Esta operação não deve falhar.
BPIO_OP_QUERY
Consulta se o BypassIO pode ser habilitado para o volume ou disco especificado.

Um driver de armazenamento deve processar essa solicitação semelhante a uma operação de BPIO_OP_ENABLE, preenchendo as mesmas informações de diagnóstico nos campos apropriados na estrutura BPIO_OUTPUT. A principal diferença é que o driver não insere o estado BYPASSIO ENABLE durante uma CONSULTA.

Observações

Consulte BypassIO para obter de drivers de armazenamento para obter mais informações.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 11
cabeçalho ntddstor.h

Consulte também

IOCTL_STORAGE_MANAGE_BYPASS_IO