What is the effect of FILE_SYNCHRONOUS_IO_ALERT in ZwCreateFile?
-
Is it like this? when reading/writing a file, if there are APC's, the reading/writing returns immediately and prematurely, and the APC's are executed.
Thats a good question, and not documented that clearly, but it seems (and I havent personally dug into this functionality to that extent) that the calling thread is notified if there is an outstanding IRP on the devobj and can then decide to terminate or not the operarion. This is from the DDK: "When I/O is synchronous, each I/O operation must wait for the preceding operation to complete before it begins. With the FILE_SYNCHRONOUS_IO_ALERT operation, waiting threads are alerted to the delay and can terminate the operation." All IRPs will be synchronous, each having to complete before the other can start. You will probably get a STATUS_PENDING from ZwWriteFile() for example. Is this what you get?
Morality is indistinguishable from social proscription
-
Is it like this? when reading/writing a file, if there are APC's, the reading/writing returns immediately and prematurely, and the APC's are executed.