WSABUF 结构的原型如下:
1 typedef struct __WSABUF 2 { 3 u_long len; 4 char FAR *buf; 5 } WSABUF, *LPWSABUF;
该结构在IOCP 中用于函数WSARecv() 和WSASend() 函数的第二个参数,同时第三个参数指定该参数做为数组时的数组元素个数。
而该结构在两个函数中的意义也有小小的不同,主要在于 WSABUF::len 这个参数。它做WSARecv() 函数的参数时,len 被理解为缓冲区WSABUF::buf 的长度。而做WSASend() 函数的参数时,它被解释为发送的总长度,从WSABUF::buf 开始。