Compartir a través de


enumeración BPIO_OPERATIONS (ntddstor.h)

BPIO_OPERATIONS define las distintas operaciones bypassIO admitidas por el código de control de IOCTL_STORAGE_MANAGE_BYPASS_IO.

Sintaxis

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

Constantes

 
BPIO_OP_ENABLE
Solicitudes que BypassIO están habilitadas para el volumen o el disco especificados (dispositivo), lo que significa que es posible que un controlador no vea todas las lecturas y escrituras de esa pila.

NOTA

Todos los controladores de las pilas de volumen y almacenamiento tienen la oportunidad de vetar la solicitud de habilitación bypassIO, pero se recomienda mantenerla habilitada tanto como sea posible.

En la operación previa:

* Si un controlador puede admitir BypassIO para el dispositivo determinado, debe reenviar la solicitud a la pila.
* Si un controlador no puede admitir BypassIO para el dispositivo determinado, debe:
* Actualice la estructura de BPIO_OUTPUT, incluida la operación NTSTATUS que describe por qué se ha vetado la solicitud de habilitación, el nombre del controlador y una cadena única y descriptiva con detalles adicionales sobre por qué ha vetado la solicitud de habilitación.
* Complete IOCTL_STORAGE_MANAGE_BYPASS_IO con STATUS_SUCCESS.

Durante la operación posterior, el controlador puede ver si todos los controladores debajo son capaces de admitir BypassIO. Si es así, el controlador debe conservar cualquier estado necesario para el archivo y continuar con el procesamiento de finalización. Es responsabilidad del controlador mantener el estado para controlar correctamente las solicitudes que podrían no ser compatibles con el estado habilitado para BypassIO.

El sistema de archivos mantiene un recuento por volumen de cuántos archivos tienen BypassIO habilitado actualmente. La operación de BPIO_OP_ENABLE solo se envía cuando este recuento pasa de cero a uno.

Incluso si un controlador de pila de almacenamiento o volumen bloquea BypassIO, la pila del sistema de archivos puede seguir realizando BypassIO. Esto se debe a que si alguien ha vetado BypassIO en la pila de volúmenes, el sistema de archivos todavía puede omitir los filtros.

BPIO_OP_DISABLE
Solicitudes que BypassIO se deshabilitan para el volumen o disco especificados. Permite que un controlador limpie cualquier estado BypassIO asociado.

El sistema de archivos envía esta operación cuando el último archivo habilitado para BypassIO está deshabilitado o cerrado (su recuento por volumen cambia de uno a cero).

Si un controlador recibe BPIO_OP_DISABLE pero actualmente no tiene BypassIO habilitado, debe omitir la solicitud.

No se debe realizar esta operación.
BPIO_OP_QUERY
Consulta si BypassIO se puede habilitar para el volumen o el disco especificados.

Un controlador de almacenamiento debe procesar esta solicitud de forma similar a una operación de BPIO_OP_ENABLE, rellenando la misma información de diagnóstico en los campos adecuados de la estructura BPIO_OUTPUT. La principal diferencia es que el controlador no entra en el estado BypassIO ENABLE durante una consulta.

Observaciones

Consulte BypassIO para controladores de almacenamiento para obtener más información.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 11
encabezado de ntddstor.h

Consulte también

IOCTL_STORAGE_MANAGE_BYPASS_IO