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

ID 767253
Date 3/31/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_write

Performs an asynchronous write operation.

Syntax

int aio_write(struct aiocb *aiocbp);

Description

The aio_write() function requests an asynchronous write operation, calling the function,

"WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, NULL); 

where,

  • hFile is given by aiocbp->aio_fildes
  • lpBuffer is given by aiocbp->aio_buf
  • nNumberOfBytesToWrite is given by aiocbp->aio_nbytes

Use the function aio_return() to retrieve the actual bytes written in lpNumberOfBytesWritten.

Use the extension aiocb->aio_offset == (intptr_t)-1 to start the write operation after the last written 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 write operation, use aio_error() function.