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.