Структура WSAPOLLFD (winsock2.h)

В структуре WSAPOLLFD хранятся сведения о сокете, используемые функцией WSAPoll .

Синтаксис

typedef struct pollfd {
  SOCKET fd;
  SHORT  events;
  SHORT  revents;
} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD;

Члены

fd

Тип: SOCKET

Идентификатор сокета, для которого требуется найти состояние. Этот параметр игнорируется, если задано отрицательное значение. См. заметки.

events

Тип: short

Набор флагов, указывающих тип запрашиваемого состояния. Это должен быть один или несколько из следующих вариантов.

Flag Значение
POLLPRI Приоритетные данные могут считываться без блокировки. Этот флаг не поддерживается поставщиком Microsoft Winsock.
POLLRDBAND Данные диапазона приоритета (внеполосные) можно считывать без блокировки.
POLLRDNORM Обычные данные можно считывать без блокировки.
POLLWRNORM Обычные данные можно записывать без блокировки.
 

Флаг POLLIN определяется как сочетание значений флагов POLLRDNORM и POLLRDBAND . Флаг POLLOUT определяется так же, как и значение флага POLLWRNORM .

revents

Тип: short

Набор флагов, указывающих при возвращении из вызова функции WSAPoll результаты запроса состояния. Это может быть сочетание следующих флагов.

Flag Описание
POLLERR Произошла ошибка.
POLLHUP Потоковое подключение было отключено или прервано.
POLLNVAL Использовался недопустимый сокет.
POLLPRI Приоритетные данные могут считываться без блокировки. Этот флаг не возвращается поставщиком Microsoft Winsock.
POLLRDBAND Данные диапазона приоритета (внеполосные) могут считываться без блокировки.
POLLRDNORM Обычные данные могут считываться без блокировки.
POLLWRNORM Обычные данные могут быть записаны без блокировки.
 

Флаг POLLIN определяется как сочетание значений флагов POLLRDNORM и POLLRDBAND . Флаг POLLOUT определяется так же, как и значение флага POLLWRNORM .

Для сокетов, которые не удовлетворяют запросу состояния и не имеют ошибок, член revents устанавливается в нулевое значение при возврате.

Комментарии

Структура WSAPOLLFD определяется в Windows Vista и более поздних версиях.

Структура WSAPOLLFD используется функцией WSAPoll для определения состояния одного или нескольких сокетов. Набор сокетов, для которых запрашивается состояние, указывается в параметре fdarray , который представляет собой массив структур WSAPOLLFD . Приложение устанавливает соответствующие флаги в элементе событий структуры WSAPOLLFD , чтобы указать тип состояния, запрашиваемого для каждого соответствующего сокета. Функция WSAPoll возвращает состояние сокета в элементе revents структуры WSAPOLLFD .

Если элемент fd структуры WSAPOLLFD имеет отрицательное значение, структура игнорируется вызовом функции WSAPoll , а член revents очищается при возврате. Это полезно для приложений, которые поддерживают фиксированное выделение для параметра fdarrayWSAPoll; таким приложениям не нужно тратить ресурсы на сжатие элементов массива для неиспользуемых записей или перераспределение памяти. Очистка элемента revents перед вызовом функции WSAPoll не требуется.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть winsock2.h

См. также раздел

WSAPoll

Принять

connect;

Recv