Asio provides Windows-specific classes that permit asynchronous wait operations to be performed on HANDLEs to kernel objects of the following types:
For example, to perform asynchronous operations on an event, the following object may be created:
HANDLE handle = ::CreateEvent(...); windows::object_handle file(my_io_context, handle);
The wait()
and async_wait()
member functions
may then be used to wait until the kernel object is signalled.
Windows object HANDLE
s are only available at compile time
when targeting Windows. Programs may test for the macro ASIO_HAS_WINDOWS_OBJECT_HANDLE
to determine whether they are supported.