Partager via


Opérations pouvant être IRP-Based ou rapides d’E/S

Les types d’opérations suivants peuvent être basés sur IRP ou des opérations d’E/S rapides :

  • IRP_MJ_DEVICE_CONTROL. (Notez que IRP_MJ_INTERNAL_DEVICE_CONTROL est toujours basé sur IRP.)

  • IRP_MJ_QUERY_INFORMATION. Cette opération peut être rapide si le paramètre FileInformationClass est FileBasicInformation, FileStandardInformation ou FileNetworkOpenInformation.

  • IRP_MJ_READ. Les pilotes minifiltres peuvent définir l’indicateur FLTFL_OPERATION_REGISTRATION_SKIP_CACHED_IO dans la structure FLT_OPERATION_REGISTRATION pour éviter de recevoir des opérations rapides d’E/S IRP_MJ_READ et des lectures basées sur IRP mises en cache.

  • IRP_MJ_WRITE. Les pilotes de minifiltre peuvent définir l’indicateur FLTFL_OPERATION_REGISTRATION_SKIP_CACHED_IO dans la structure FLT_OPERATION_REGISTRATION pour éviter de recevoir des opérations rapides d’E/S IRP_MJ_WRITE et des écritures basées sur des IRP mises en cache.

Quand l’une de ces opérations est une opération d’E/S rapide, elle n’utilise toujours ni e/S en mémoire tampon ni E/S directes, même si l’opération IRP équivalente utilise une méthode de mise en mémoire tampon différente.

Quand IRP_MJ_DEVICE_CONTROL est une opération d’E/S rapide, elle n’utilise toujours ni e/S en mémoire tampon ni directe, quel que soit le type de transfert de IOCTL.

Bien que IRP_MJ_LOCK_CONTROL puisse être une opération d’E/S rapide ou basée sur IRP, elle n’a pas de mémoire tampon.