Perform an I/O request and wait for its finish
Source position: exec.pas line 1287
function DoIO(  | 
IORequest: PIORequest  | 
):LongInt;  | 
IORequest  | 
  | 
A sign-extended copy of the io_Error field of the I/O request. Most device commands require that the error return be checked.  | 
A pointer to an I/O Request initialized by OpenDevice()
This function requests a device driver to perform the I/O command specified in the I/O request. This function will always wait until the I/O request is fully complete.
DoIO() handles all the details, including Quick I/O, waiting for the request, and removing the reply message, etc..
This function first tries to complete the IO via the "Quick I/O" mechanism. The io_Flags field is always set to IOF_QUICK (0x01) before the internal device call.
The LN_TYPE field is used internally to flag completion. Active requests have type NT_MESSAGE. Requests that have been replied have type NT_REPLYMSG. It is illegal to start IO using a still active IORequest, or a request with type NT_REPLYMSG.
  | 
Initiate an I/O command  | 
|
  | 
Check status on an I/O request  | 
|
  | 
Wait for completion of an I/O request  | 
|
  | 
Attempt to abort an in-progress I/O request  |