Объекты событий (Windows Сокеты 2)

При вводе перекрывающихся операций ввода-вывода требуется механизм для однозначного связывания запросов на отправку и получение запросов с их последующими указаниями на завершение. В Windows Sockets 2 это достигается с помощью объектов событий, которые моделироваются после событий Windows. Windows объекты событий Sockets — это довольно простые конструкции, которые можно создавать и закрывать, задавать и очищать, а также ожидать и опрашивает. Их основная служебная программа — это возможность приложения блокировать и ожидать установки одного или нескольких объектов событий.

Приложения используют WSACreateEvent для получения дескриптора объекта события, который затем может быть предоставлен в качестве обязательного параметра для перекрывающихся версий вызовов отправки и приема ( WSASend, WSASendTo, WSARecv, WSARecvFrom). Объект события, который очищается при первом создании, задается поставщиками транспорта при завершении связанной операции ввода-вывода с перекрытием (успешно или с ошибками). Каждый объект события, созданный WSACreateEvent , должен иметь соответствующий объект WSACloseEvent , чтобы уничтожить его.

Объекты событий также используются в WSAEventSelect для связывания одного или нескольких FD_XXX сетевых событий с объектом события. Это описано в асинхронном уведомлении с помощью объектов событий.

В 32-разрядных средах функции, связанные с объектом событий, включая WSACreateEvent, WSACloseEvent, WSASetEvent, WSAResetEvent и WSAWaitForMultipleEvent, напрямую сопоставляются с соответствующими собственными Windows функциями, используя то же имя функции, но без префикса WSA.