返回值为6,句柄无效
需要将overlapped中hEvent用0填充,如果不用事件句柄的话,应该设置为NULL
//单IO数据,每一个重叠I/O都要对应的这么一组参数
typedef struct _PER_IO_DATA {
WSAOVERLAPPED overlapped; // 每一个重叠I/O网络操作都要有一个
WSABUF wsaBuf; // 存储数据的缓冲区,用来给重叠操作传递参数的
DWORD flag;
int type;
#define IO_READE 1
#define IO_WRITE 2
} PER_IO_DATA, * PPER_IO_DATA;
在new完之后,直接memset就可以解决问题
PPER_IO_DATA perIOData = new PER_IO_DATA;
memset(perIOData, 0, sizeof(PER_IO_DATA));