suwen2006 发表于 2014-4-17 21:15:06

WSAIoctl理解和使用问题

最近看了windows网络语通信程序设计,但是碰到了WSAIoctl,有些莫名其妙了,不知道为啥调用
// 加载扩展函数AcceptEx
GUID GuidAcceptEx = WSAID_ACCEPTEX;
DWORD dwBytes;
WSAIoctl(pListen->s,       //controls the mode of a socket
SIO_GET_EXTENSION_FUNCTION_POINTER,
&GuidAcceptEx,
sizeof(GuidAcceptEx),
&pListen->lpfnAcceptEx,
sizeof(pListen->lpfnAcceptEx),
&dwBytes,
NULL,
NULL);
这段代码说的是加载扩展函数AcceptEx,但是没见调用,所以对WSAloctl和这段代码理解不到位,能帮我解答下我的疑问么?

0xAA55 发表于 2014-4-18 00:54:03

WSAIoctl有很多功能。第二个参数就是指定你需要哪个功能。这里填的是SIO_GET_EXTENSION_FUNCTION_POINTER
字面意思是“获取扩展函数的指针”。那就是获取AcceptEx这个函数的地址喽。
WSAIoctl资料:http://msdn.microsoft.com/en-us/library/windows/desktop/ms741621(v=vs.85).aspx
AcceptEx资料:http://msdn.microsoft.com/en-us/library/windows/desktop/ms737524(v=vs.85).aspx
请学会用好MSDN。
页: [1]
查看完整版本: WSAIoctl理解和使用问题