1

I'm trying to fully understand the I/O request flow that happens when e.g. ReadFile is invoked. I'm aware of how the I/O-Manager creates an IRP and passes it down the driver-stack. Once the data has been retrieved from the device, an interrupt occurs, the driver ISR is executed to schedule a DCP. What happens between the DCP and the application buffer being filled with data?

thyrel
  • 453
  • 1
  • 4
  • 13
  • The details depend on the specific drivers in the stack, I believe. But as I understand it, a blocking call is implemented as an asynchronous call followed by a wait operation, i.e., the I/O manager sets an event to indicate that the I/O is completed. – Harry Johnston Oct 07 '15 at 20:39
  • To clarify, that's a *conventional* asynchronous call - one using an event - rather than an APC-based asynchronous call. And of course this is an implementation detail, subject to change. – Harry Johnston Oct 08 '15 at 02:23

0 Answers0