aio_read
aio_read
Performs an asynchronous read operation.
Syntax
int aio_read(struct aiocb
*aiocbp);
Description
The
aio_read()
function requests an asynchronous read
operation, calling the function,
"ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, NULL);"
where,
- hFileis given byaiocbp->aio_fildes
- lpBufferis given byaiocbp->aio_buf
- nNumberOfBytesToReadis given byaiocbp->aio_nbytes
Use the function
aio_return()
to retrieve the actual bytes read in
lpNumberOfBytesRead
.
Use the extension
aiocb->aio_offset == (intptr_t)-1
to start the read
operation after the last read record. This extension avoids extra file
positioning and enhances performance.
Returns
0
: On success
-1
: On error
To get the correct error code, use
errno.
To get the error that occurred during asynchronous
read operation, use
aio_error()
function.