Developer Guide and Reference

ID 767253
Date 10/31/2024
Public
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.