WSAPOLLFD 结构 (winsock2.h)

WSAPOLLFD 结构存储 WSAPoll 函数使用的套接字信息。

语法

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

成员

fd

类型: SOCKET

要查找其状态的套接字的标识符。 如果设置为负值,则忽略此参数。 请参阅“备注”。

events

类型: short

一组指示所请求的状态类型的标志。 这必须是以下一个或多个。

标志 含义
POLLPRI 可以在不阻塞的情况下读取优先级数据。 Microsoft Winsock 提供程序不支持此标志。
POLLRDBAND 可以在不阻塞的情况下读取带外 (优先级带外) 数据。
POLLRDNORM 正常数据可以在不阻塞的情况下读取。
POLLWRNORM 可以不阻塞地写入普通数据。
 

POLLIN 标志定义为 POLLRDNORMPOLLRDBAND 标志值的组合。 POLLOUT 标志的定义与 POLLWRNORM 标志值相同。

revents

类型: short

一组标志,指示从 WSAPoll 函数调用返回时,状态查询的结果。 这可以是以下标志的组合。

标志 描述
POLLERR 出现错误。
POLLHUP 面向流的连接已断开连接或中止。
POLLNVAL 使用了无效的套接字。
POLLPRI 可以在不阻塞的情况下读取优先级数据。 Microsoft Winsock 提供程序不返回此标志。
POLLRDBAND 优先级带 (带外) 数据可以不受阻止地读取。
POLLRDNORM 正常数据可以在不阻塞的情况下读取。
POLLWRNORM 正常数据可以在不阻塞的情况下写入。
 

POLLIN 标志定义为 POLLRDNORMPOLLRDBAND 标志值的组合。 POLLOUT 标志的定义与 POLLWRNORM 标志值相同。

对于不满足状态查询且没有错误的套接字, revents 成员在返回时设置为零。

注解

WSAPOLLFD 结构在 Windows Vista 及更高版本上定义。

WSAPoll 函数使用 WSAPOLLFD 结构来确定一个或多个套接字的状态。 请求状态的套接字集在 fdarray 参数中指定,该参数是 WSAPOLLFD 结构的数组。 应用程序在 WSAPOLLFD 结构的 events 成员中设置相应的标志,以指定为每个相应套接字请求的状态类型。 WSAPoll 函数返回 WSAPOLLFD 结构的 revents 成员中套接字的状态。

如果 WSAPOLLFD 结构的 fd 成员设置为负值,则 WSAPoll 函数调用将忽略该结构,并在返回时清除 revents 成员。 这对于维护 WSAPollfdarray 参数的固定分配的应用程序很有用;此类应用程序无需浪费资源来压缩未使用的条目或重新分配内存的数组元素。 无需在调用 WSAPoll 函数之前清除 revents 成员。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 winsock2.h

另请参阅

WSAPoll

accept

connect

recv