Программирование на C++ глазами хакера


. Асинхронная работа через объект события - часть 2


  • fAlertable — параметр используется при перекрестном вводе/выводе, который я не рассматриваю в этой книге, поэтому указан FALSE.
  • Чтобы узнать, какое событие из массива событий сработало, нужно вычесть из возвращенного функцией WSAWaitForMultipleEvents значения константу WSA_WAIT_EVENT_0.

    Прежде чем вызывать функцию WSAWaitForMultipieEvents, все события в массиве должны быть пустыми. Если хотя бы одно из них будет занято, то функция сразу вернет управление программе, и не будет ожидания. После выполнения функции отработавшие события становятся занятыми, и после обработки их надо освободить. Для этого используется функция WSAResetEvent:

    BOOL WSAResetEvent ( WSAEVENT hEvent );

    Функция очищает состояние события, указанного в качестве единственного параметра.

    Когда событие уже не нужно, его необходимо закрыть. Для этого используется функция WSACloseEvent. Функции следует передать объект события, который необходимо закрыть:

    BOOL WSACloseEvent ( WSAEVENT hEvent );

    Если закрытие прошло успешно, то функция возвращает TRUE, иначе — FALSE.


     




    Начало  Назад  



    Книжный магазин