Device driver function 03h      IOCTL Read              b   c

IOCTL Read transfers data from a device driver into the specified
buffer.

This function can be used for both block and character device
drivers.

──────────────────────────────────────────────────────────────────

DOS calls this function only if bit 14 is set in the dhAttributes
field of the DeviceHeader structure for the driver.

The format of the returned data is device-specific and does not
follow any standard.

──────────────────────────────────────────────────────────────────

irwrUnit
Specifies the device from which data is to be read. This field is
used for block device drivers only.


irwrStatus
Specifies the status of the completed function. If the function
was successful, the driver must set the done bit (bit 8).
Otherwise, the driver must set both the error and done bits (bits
15 and 8) and copy an error value to the low-order byte.


irwrBuffer
Contains the 32-bit address of the buffer that receives data read
from the device.


irwrBytes
Contains the number of bytes to read and receives the number of
bytes read.

input Specifies the number of bytes to read. This number
must not exceed the size, in bytes, of the specified
buffer.

output Specifies the number of bytes read. This number cannot
exceed the requested number of bytes.