IRP flags printed from filespy filter

There were four IRP flags printed from the filespy filter program. They are

  • IRP_NOCACHE
  • IRP_PAGING_IO
  • IRP_SYNCHRONOUS_API
  • IRP_SYNCHRONOUS_PAGING_IO

It seems to me that they are different typies of IO request but it is not
clear to me what differences among them ? Hope to find some more
explanations.

IRP_SYNCHRONOUS_API:
IRP_SYNCHRONOUS_PAGING_IO:
tells the device dispatch routine it is allowed to block current
thread
second case implies IRP_PAGING_IO set

IRP_NOCACHE:
tells the device dispatch routine data should not be
obtained from cache but rather from the underlying device (eg.
disk)

IRP_PAGING_IO:
tells the device dispatch routine this request comes from Memory
Manager
(or some other who uses IoPageRead and/or
IoSynchronousPageWrite/IoAsynchronousPageWrite

  • either by calling these routines or by implementing their
    functionality)
    this implies IRP_NOCACHE set (and also buffer described by MDL)

for eg.

IoPageRead and IoSynchronousPageWrite send IRP which has set
IRP_PAGING_IO
IRP_NOCACHE
IRP_SYNCHRONOUS_PAGING_IO

IoAsynchronousPageRead sends IRP which has set
IRP_PAGING_IO
IRP_NOCACHE

IoQueryFileInformation sends IRP which has set
IRP_SYNCHRONOUS_API

Hope this helps
Paul

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Reddy, Cathy C
Sent: Tuesday, October 24, 2000 2:08 AM
To: File Systems Developers
Subject: [ntfsd] IRP flags printed from filespy filter

There were four IRP flags printed from the filespy filter program. They
are

  • IRP_NOCACHE
  • IRP_PAGING_IO
  • IRP_SYNCHRONOUS_API
  • IRP_SYNCHRONOUS_PAGING_IO

It seems to me that they are different typies of IO request but it is
not
clear to me what differences among them ? Hope to find some more
explanations.


You are currently subscribed to ntfsd as: xxxxx@compelson.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)