Compartir a través de


Operaciones que se pueden IRP-Based o E/S rápida

Los siguientes tipos de operaciones pueden ser operaciones de E/S rápidas o basadas en IRP:

  • IRP_MJ_DEVICE_CONTROL. (Tenga en cuenta que IRP_MJ_INTERNAL_DEVICE_CONTROL siempre se basa en IRP).

  • IRP_MJ_QUERY_INFORMATION. Esta operación puede ser de E/S rápida si el parámetro FileInformationClass es FileBasicInformation, FileStandardInformation o FileNetworkOpenInformation.

  • IRP_MJ_READ. Los controladores de minifiltro pueden establecer la marca de FLTFL_OPERATION_REGISTRATION_SKIP_CACHED_IO en la estructura de FLT_OPERATION_REGISTRATION para evitar recibir operaciones rápidas de E/S IRP_MJ_READ y lecturas basadas en IRP almacenadas en caché.

  • IRP_MJ_WRITE. Los controladores de minifiltro pueden establecer la marca de FLTFL_OPERATION_REGISTRATION_SKIP_CACHED_IO en la estructura de FLT_OPERATION_REGISTRATION para evitar recibir operaciones rápidas de E/S IRP_MJ_WRITE y escrituras basadas en IRP almacenadas en caché.

Cuando cualquiera de estas operaciones es una operación de E/S rápida, siempre usa ninguna E/S almacenada en búfer ni E/S directa, incluso si la operación basada en IRP equivalente usa un método de almacenamiento en búfer diferente.

Cuando IRP_MJ_DEVICE_CONTROL es una operación de E/S rápida, siempre usa ni E/S almacenada en búfer ni E/S directa, independientemente del tipo de transferencia del IOCTL.

Aunque IRP_MJ_LOCK_CONTROL puede ser una operación de E/S rápida o basada en IRP, no tiene búferes.