RIO_RQ

RIO_RQ typedef 指定通过 Winsock 注册的 I/O 扩展发送和接收请求所使用的套接字描述符。

typedef struct RIO_RQ_t* RIO_RQ, **PRIO_RQ;

RIO_RQ

一种数据类型,指定发送和接收请求使用的套接字描述符。

备注

Winsock 注册的 I/O 扩展主要在 RIO_RQ 对象而不是套接字上运行。 应用程序使用 RIOCreateRequestQueue 函数获取现有套接字的RIO_RQ。 必须通过调用 WSASocket 函数来创建输入套接字,并在 dwFlags 参数中设置WSA_FLAG_RIO标志。

获取 RIO_RQ 对象后,基础套接字描述符将保持有效。 应用程序可以继续使用基础套接字来设置和查询套接字选项、发出 IOCTL 并最终关闭套接字。

注意

为了提高效率,对完成队列的访问 (RIO_CQ 结构) 和请求队列 (RIO_RQ 结构) 不受同步基元的保护。 如果需要从多个线程访问完成队列或请求队列,应通过关键部分、精简读取器写入锁或类似机制协调访问。 单个线程访问不需要此锁定。 不同的线程可以在没有锁的情况下访问单独的请求/完成队列。 仅当多个线程尝试访问同一队列时,才需要同步。 如果多个线程在同一套接字上发出发送和接收,则还需要同步,因为发送和接收操作使用套接字的请求队列。

 

typedef RIO_RQMswsockdef.h 头文件中定义,该文件自动包含在 Mswsock.h 头文件中。 不应直接使用 Mswsockdef.h 头文件。

要求

要求
最低受支持的客户端
Windows 8 [仅限桌面应用]
最低受支持的服务器
Windows Server 2012 [仅限桌面应用]
标头
Mswsockdef.h (包括 Mswsock.h)

另请参阅

RIOCreateRequestQueue

RIOReceive

RIOReceiveEx

RIOResizeRequestQueue

RIOSend

RIOSendEx

WSASocket