gpt4 book ai didi

windows - WSAGetLastError() 只是 GetLastError() 的别名吗?

转载 作者:可可西里 更新时间:2023-11-01 12:37:06 26 4
gpt4 key购买 nike

在我的代码中,我有带 I/O 完成端口的异步 I/O,对于读/写完成回调,我得到一个 HANDLE(当然可以是套接字、文件句柄、命名管道等)。

所以如果在这样的例程中出现问题,我想检查错误,但是如何知道它是否是一个“网络”HANDLE(一个SOCKET,所以我应该调用 WSAGetLastError()) 或“非网络”HANDLE(命名管道、文件等,所以我应该调用 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

但是有人可以确认吗? MSDN 在这个主题上不是很清楚。

使用 GetLastError() 而不是 WSAGetLastError() 是否安全?我的意思是,如果有人声称自 Windows95 以来 WSAGetLastError() 甚至是 GetLastError() 的别名,我可以假设下一个版本的 Windows 也是如此 - - 但我们无法根据假设写出好的代码 :)

最佳答案

它只是 GetLastError 的包装器,如果你对 ws2_32.dll 进行逆向工程,你会找到它。

关于windows - WSAGetLastError() 只是 GetLastError() 的别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15586224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com