Overlapped I/O

1

Overlapped I/O is a name used for asynchronous I/O in the Windows API. It was introduced as an extension to the API in Windows NT. Utilizing overlapped I/O requires passing an structure to API functions that normally block, including , , and Winsock's and. The requested operation is initiated by a function call which returns immediately, and is completed by the OS in the background. The caller may optionally specify a Win32 event handle to be raised when the operation completes. Alternatively, a program may receive notification of an event via an I/O completion port, which is the preferred method of receiving notification when used in symmetric multiprocessing environments or when handling I/O on numerous files or sockets. The third and the last method to get the I/O completion notification with overlapped IO is to use and , which allow the User APC routine to be provided, which will be fired on the same thread on completion (User APC is the thing very similar to Unix/POSIX signal, with the main difference being that the signals are using signal numbers from the historically predefined enumeration, while the User APC can be any function declared as " "). The so-called overlapped API presents some differences depending on the Windows version used. Asynchronous I/O is particularly useful for sockets and pipes. Unix and Linux implement the POSIX asynchronous I/O API (AIO).

This article is derived from Wikipedia and licensed under CC BY-SA 4.0. View the original article.

Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc.
Bliptext is not affiliated with or endorsed by Wikipedia or the Wikimedia Foundation.

Edit article