Partager via


é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.

Syntaxe

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 risque de ne pas voir toutes les lectures/écritures pour cette pile.

NOTE

Tous les pilotes dans les piles de volume et de stockage ont la possibilité de veto sur la demande d’activation BypassIO, mais sont encouragés à le conserver autant que possible.

Sur la pré-opération :

* Si un pilote peut prendre en charge BypassIO pour l’appareil donné, il doit transférer la requête 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 pourquoi la demande d’activation a été bloquée, le nom du pilote et une chaîne descriptive unique et descriptive avec des détails supplémentaires sur la raison pour laquelle elle a opposé 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 ci-dessous sont capables de prendre en charge BypassIO. Si c’est le cas, le pilote doit conserver l’état nécessaire pour le fichier et poursuivre le traitement d’achèvement. Il incombe au pilote de maintenir l’état pour gérer correctement les requêtes qui peuvent ne pas être compatibles avec l’état BypassIO.

Le système de fichiers gère un nombre par volume du nombre de fichiers actuellement activés par bypassIO. L’opération BPIO_OP_ENABLE est envoyée uniquement lorsque ce nombre passe de zéro à un.

Même si un pilote de pile de stockage ou de volume est opposé à BypassIO, la pile du système de fichiers peut continuer à effectuer BypassIO. Cela est dû au fait que si quelqu’un a mis un veto 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 bypassIO activé est désactivé ou fermé (son nombre par volume passe d’un à zéro).

Si un pilote reçoit BPIO_OP_DISABLE mais n’a pas actuellement l’option BypassIO activée, elle doit ignorer la requête.

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

Un pilote de stockage doit traiter cette requête similaire à 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 11
d’en-tête ntddstor.h

Voir aussi

IOCTL_STORAGE_MANAGE_BYPASS_IO