Overlapped I/O

From Wikipedia, the free encyclopedia

Overlapped I/O is an asynchronous I/O extension of the Windows APIs, which was introduced in Windows NT.

Utilizing overlapped I/O requires passing OVERLAPPED structure to the ReadFile(), WriteFile(), and other otherwise blocking API functions including WSASend()/WSARecv() from Winsock API. Requested operation is initiated by a function call, which returns immediately, and it is completed by 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 a large number of files or sockets. Overlapped I/O is particularly useful for sockets and pipes. It is not well supported in Windows 9x.

The Unix equivalent of Overlapped I/O is the POSIX Asynchronous I/O API (AIO).

[edit] External links

Languages