IRP-Based I/O Operations That Always Use Buffered I/O

The following IRP-based I/O operations always use buffered I/O, regardless of the value of the Flags member of the DEVICE_OBJECT structure for the file system volume:

  • IRP_MJ_CREATE (EaBuffer parameter)

  • IRP_MJ_QUERY_INFORMATION

  • IRP_MJ_QUERY_VOLUME_INFORMATION

  • IRP_MJ_SET_INFORMATION

  • IRP_MJ_SET_VOLUME_INFORMATION

Note that IRP_MJ_QUERY_INFORMATION can also be a fast I/O operation. When it is a fast I/O operation, it uses neither buffered nor direct I/O. For more information about I/O operations that can be IRP-based or fast I/O operations, see Operations That Can Be IRP-Based or Fast I/O.