Alex Ionescu 8d2254b37e - Fix I/O Completion (IopCompleteRequest/IofCompleteRequest) for the first time after the 40-thread long flame war last year:
- Don't read pointers from the file object or IRP before they are actually used, because in some parts of the code, these pointers could change before we actually use them.
  - Get rid of the #if 1/#if 0 nonsense hbirr had added.
  - Properly check for success/warning/failure cases (thanks to Filip for checking this out with me last year)
  - Handle scenarios when the IRP is marked IRP_CREATE_OPERATION
  - Bugcheck if IofCompleteRequest is called twice on the same IRP
  - Copy the master IRP's thread to the associated IRP
  - Free the Auxiliary Buffer if there is one.
  - Some formatting fixes, and majorly recomment the code to make it a lot clearer and more verbose on some of the more intricate details.
  - Remove some hacks which I don't think are needed anymore. If you notice regressions due to this patch let me know ASAP.

svn path=/trunk/; revision=22704
2006-06-30 03:15:56 +00:00
2005-12-13 18:56:49 +00:00
2006-06-26 16:39:23 +00:00
2004-02-06 08:21:52 +00:00
2005-10-02 19:31:30 +00:00
S
Description
A free Windows-compatible Operating System
528 MiB
Languages
C 86.9%
C++ 10.7%
Python 0.7%
Assembly 0.5%
CMake 0.5%
Other 0.4%