微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WSAGetLastError只是GetLastError的别名吗?

在我的代码中,我有I / O完成端口的asynchronousI / O,对于读/写完成callback,我得到一个HANDLE(当然可以是套接字,文件句柄,命名pipe道等等)。 所以如果在这样的例程中出现错误,我想检查错误,但是如何知道它是一个“networking”HANDLE [一个SOCKET,所以我应该调用WSAGetLastError()]或者一个“非networking”HANDLE [命名pipe道,文件等等,所以我应该调用GetLastError()]? 我为此使用了一个简单的标志,但是它的丑陋和不方便。 如果有人可以确认WSAGetLastError()只是GetLastError()的别名,我将只使用后者。

看起来如此:

http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.networks/2007-08/msg00034.html

http://us.generation-nt.com/wsagetlasterror-just-an-alias-getlasterror-help-28256642.html

检测尚未与无线networkingbuild立连接的无线计算机

列出所有networking连接,然后pipe理一个

在linux的networking接口上模拟传入的数据包

缓冲区pipe理套接字应用的最佳实践

如何从一个stream程实例创build多个networking名称空间

但有人可以证实吗? MSDN在这个话题上不是很清楚。

和:使用GetLastError()而不是WSAGetLastError()是安全的? 我的意思是,如果WSAGetLastError()甚至是自Windows95作为别人声称的GetLastError()的别名,我可以假设它对于下一个版本的Windows将是真实的 – 但是我们不能在假设东西时编写好的代码:)

点击接口和/ dev / net / tun设备,使用ip tuntap命令

我怎样才能得到可用的带宽速率?

Windows Raw套接字以错误的顺序捕获数据包

在内核空间捕获数据包的缓冲区大小?

如何确定目标MAC地址

它只是一个GetLastError的包装,如果你逆向工程ws2_32.dll,你会发现它。

有两个相似功能的原因: http : //blogs.msdn.com/b/oldnewthing/archive/2005/09/08/462402.aspx

为什么函数WSASetLastError存在已经完美的函数SetLastError?

其实,如果你坐下来想一想,你也知道答案。

Winsock最初是为了在16位Windows和32位Windows上运行而开发的。 注意经典的Winsock函数是如何基于异步通知的窗口消息的。 在16位的世界里,没有SetLastError函数。 因此,Winsock必须为16位实现提供自己的版本。 而且由于源代码兼容性很重要,所以还有一个32位版本。 当然,如果你不知道16位版本的话,32位版本看起来有点笨。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐