Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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,

  • hFile is given by aiocbp->aio_fildes
  • lpBuffer is given by aiocbp->aio_buf
  • nNumberOfBytesToRead is given by aiocbp->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.