RIO_BUFFERID

RIO_BUFFERID typedef 指定与 Winsock 注册 I/O 扩展一起使用的已注册缓冲区描述符。

typedef struct RIO_BUFFERID_t* RIO_BUFFERID, **PRIO_BUFFERID;

RIO_BUFFERID

一种数据类型,指定用于发送和接收请求的已注册缓冲区描述符。

备注

Winsock 注册的 I/O 扩展主要使用 RIO_BUFFERID 对象在已注册的缓冲区上运行。 应用程序使用 RIORegisterBuffer 函数获取现有缓冲区的RIO_BUFFERID。 应用程序可以使用 RIODeregisterBuffer 函数释放注册。

使用 RIORegisterBuffer 函数将现有缓冲区注册为 RIO_BUFFERID 对象时,将从物理内存中分配某些内部资源,现有应用程序缓冲区将锁定到物理内存中。 调用 RIODeregisterBuffer 函数来取消注册缓冲区、释放这些内部资源,并允许从物理内存中解锁和释放缓冲区。

使用 Winsock 注册的 I/O 扩展重复注册和取消注册应用程序缓冲区可能会导致性能明显下降。 使用 Winsock 注册的 I/O 扩展设计应用程序时,应考虑以下缓冲区管理方法,以尽量减少重复注册和取消应用程序缓冲区的注册:

  • • 最大程度地重用缓冲区。
  • • 维护一个有限的未使用注册缓冲区池,供应用程序使用。
  • • 维护有限的已注册缓冲区池,并在这些已注册缓冲区和其他未注册缓冲区之间执行缓冲区复制。

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

要求

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

另请参阅

RIO_BUF

RIODeregisterBuffer

RIOReceive

RIOReceiveEx

RIORegisterBuffer

RIOSend

RIOSendEx