在我的代码中,我有I/O完成端口的异步I/O,对于读/写完成回调,我得到一个HANDLE
(当然可以是套接字,文件句柄,命名管道等).
因此,如果在这样的例程中出现问题,我想检查错误,但是如何知道它是"网络" HANDLE
(a SOCKET
,所以我应该调用WSAGetLastError()
)还是"非网络" HANDLE
(命名管道,文件等,所以我应该打电话GetLastError()
)?我正在使用一个简单的标志,但它的丑陋和不方便.
如果有人可以确认这WSAGetLastError()
只是别名GetLastError()
,我将只使用后者.
看来是这样的:
http://us.generation-nt.com/wsagetlasterror-just-an-alias-getlasterror-help-28256642.html
但有人可以证实吗?MSDN在这个主题上并不是很清楚.
使用GetLastError()
而不是安全WSAGetLastError()
吗?我的意思是,如果WSAGetLastError()
甚至是GetLastError()
Windows95 的别名,就像有人声称的那样,我可以假设它对于下一版本的Windows也是如此 - 但是我们不能在假设的事情上编写好的代码:)