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 [仅限桌面应用] |
标头 |
|
另请参阅