Структура 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 |