[求助]MFC中使用WSAIoctl第二个参数SIORCVALL的问题
我的系统是WinXP SP2,VC6.0,新建了一个MFC工程,mstcpip.h头文件也包含了,WinSock2.h也包含了,ws2_32.lib 也包含了,Socket创建也没问题,为什么我在用
WSAIoctl的时候就是不对呢,WSAGetLastError返回的错误是10022,这是什么问题呢??
源程序如下:
int iErrorCode;
iErrorCode = WSAStartup(MAKEWORD(2,1),&wsaData);
CheckSockError(iErrorCode);
SockRaw = socket(PF_INET, SOCK_RAW, IPPROTO_IP);
CheckSockError(SockRaw);
//获取本机IP地址
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6666);
iErrorCode = bind(SockRaw, (PSOCKADDR)&addrSrv, sizeof(addrSrv));
CheckSockError(iErrorCode);
//设置SOCK_RAW为SIO_RCVALL,以便接收所有的IP包
DWORD dwBufferLen[10];
DWORD dwBufferInLen = 1;
DWORD dwBytesReturned = 0;
iErrorCode = WSAIoctl(SockRaw, SIO_RCVALL,&dwBufferInLen, sizeof(dwBufferInLen),&dwBufferLen, sizeof(dwBufferLen),&dwBytesReturned, NULL, NULL); //就是这里的问题!!
iErrorCode = WSAGetLastError();
return 0;
希望各位大虾帮帮忙吧,小弟在这里跪谢了!!!