énumération BPIO_OPERATIONS (ntddstor.h)

BPIO_OPERATIONS définit les différentes opérations BypassIO prises en charge par le code de contrôle 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
Demande que BypassIO soit activé pour le volume ou le disque (périphérique) donné, ce qui signifie qu’un pilote peut ne pas voir toutes les lectures/écritures pour cette pile.

REMARQUE

Tous les pilotes dans les piles de volumes et de stockage ont la possibilité de mettre leur veto à la demande d’activation BypassIO, mais nous vous recommandons de la maintenir activée autant que possible.

Lors de la pré-opération :

* Si un pilote peut prendre en charge BypassIO pour l’appareil donné, il doit transférer la demande vers le bas de la pile.
* Si un pilote ne peut pas prendre en charge BypassIO pour l’appareil donné, il doit :
* Mettez à jour la structure BPIO_OUTPUT , y compris l’opération NTSTATUS décrivant la raison pour laquelle la demande d’activation a été bloquée, le nom du pilote et une chaîne descriptive unique avec des détails supplémentaires sur la raison pour laquelle elle a opposé son veto à la demande d’activation.
* Terminez IOCTL_STORAGE_MANAGE_BYPASS_IO avec STATUS_SUCCESS.

Pendant la post-opération, le pilote peut voir si tous les pilotes en dessous sont capables de prendre en charge BypassIO. Si oui, le pilote doit conserver tout état nécessaire pour le fichier et poursuivre le traitement de fin. Il incombe au pilote de maintenir l’état pour gérer correctement les demandes qui peuvent ne pas être compatibles avec l’état avec BypassIO.

Le système de fichiers conserve un nombre par volume du nombre de fichiers actuellement activés par BypassIO. L’opération de BPIO_OP_ENABLE n’est envoyée que lorsque ce nombre passe de zéro à un.

Même si un pilote de volume ou de pile de stockage met son veto à BypassIO, la pile du système de fichiers peut continuer à effectuer BypassIO. En effet, si quelqu’un a mis son veto à BypassIO sur la pile de volumes, le système de fichiers peut toujours contourner les filtres.

BPIO_OP_DISABLE
Demande que BypassIO soit désactivé pour le volume/disque donné. Il permet à un pilote de nettoyer tout état BypassIO associé.

Le système de fichiers envoie cette opération lorsque le dernier fichier avec BypassIO est désactivé ou fermé (son nombre de volumes passe de un à zéro).

Si un pilote reçoit BPIO_OP_DISABLE mais que BypassIO n’est pas actuellement activé, il doit ignorer la demande.

Cette opération ne doit pas échouer.
BPIO_OP_QUERY
Demande si BypassIO peut être activé pour le volume ou le disque donné.

Un pilote de stockage doit traiter cette demande comme une opération de BPIO_OP_ENABLE , en remplissant les mêmes informations de diagnostic dans les champs appropriés de la structure BPIO_OUTPUT . La principale différence est que le pilote n’entre pas dans l’état BypassIO ENABLE pendant une REQUÊTE.

Remarques

Pour plus d’informations, consultez BypassIO pour les pilotes de stockage .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11
En-tête ntddstor.h

Voir aussi

IOCTL_STORAGE_MANAGE_BYPASS_IO