RIO_BUF 结构 (mswsockdef.h)

RIO_BUF 结构指定用于发送或接收具有 Winsock 已注册 I/O 扩展的网络数据的已注册缓冲区的一部分。

语法

typedef struct _RIO_BUF {
  RIO_BUFFERID BufferId;
  ULONG        Offset;
  ULONG        Length;
} RIO_BUF, *PRIO_BUF;

成员

BufferId

用于发送和接收请求的 Winsock 已注册 I/O 缓冲区的已注册缓冲区描述符。

Offset

BufferId 成员指定的缓冲区的偏移量(以字节为单位)。 偏移值 0 指向缓冲区的开头

Length

要从 Offset 成员使用的缓冲区的长度(以字节为单位)。

注解

Winsock 注册的 I/O 扩展通常对已注册缓冲区的某些部分进行操作,有时称为缓冲区切片。 RIO_BUF结构由需要使用少量已注册内存来发送或接收网络数据的应用程序使用。 应用程序通常可以通过注册一个大型缓冲区,然后根据需要使用小块缓冲区来提高性能。 RIO_BUF 结构可以描述单个缓冲区注册中包含的任何连续内存段。

指向 RIO_BUF 结构的指针作为 pData 参数传递给 RIOSend、RIOSendExRIOReceiveRIOReceiveEx 函数,以发送或接收网络数据。

应用程序不能仅仅通过使用值大于使用 RIORegisterBuffer 函数注册的原始缓冲区的缓冲区切片来调整已注册缓冲区的大小。

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

要求

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

另请参阅

RIODeregisterBuffer

RIOReceive

RIOReceiveEx

RIORegisterBuffer

RIOSend

RIOSendEx

RIO_BUFFERID