Unit 'exec' Package
[Overview][Constants][Types][Procedures and functions][Variables][Index] [#os4units]

DoIO

Perform an I/O request and wait for its finish

Declaration

Source position: exec.pas line 1859

function DoIO(

  IORequest: PIORequest

):LongInt;

Arguments

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.

Function result

A pointer to an I/O Request initialized by OpenDevice()

Description

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.

See also

SendIO

  

Initiate an I/O command

CheckIO

  

Check status on an I/O request

WaitIO

  

Wait for completion of an I/O request

AbortIO

  

Attempt to abort an in-progress I/O request


Documentation generated on: 2021-07-30