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 .

Syntax

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 volume ou disco (dispositivo) especificado, o que significa que um driver pode não ver todas as leituras/gravações para essa pilha.

OBSERVAÇÃO

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 determinado, 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 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. Em caso afirmativo, 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 BypassIO atualmente habilitado. 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 BypassIO, a pilha do sistema de arquivos pode continuar a fazer BypassIO. Isso ocorre porque, se alguém tiver vetado BypassIO na pilha de volumes, o sistema de arquivos ainda poderá ignorar filtros.

BPIO_OP_DISABLE
Solicitações para que o BypassIO seja desabilitado para o volume/disco especificado. Ele permite que um driver limpe qualquer estado 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 de forma 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 entra no estado BypassIO ENABLE durante uma CONSULTA.

Comentários

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

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11
Cabeçalho ntddstor.h

Confira também

IOCTL_STORAGE_MANAGE_BYPASS_IO