处理 Winsock 错误

大多数 Windows 套接字 2 函数在函数返回时不返回错误的具体原因。 如果成功,某些 Winsock 函数返回值零。 否则,将返回值 SOCKET_ERROR (-1) ,并且可以通过调用 WSAGetLastError 函数检索特定的错误号。 对于返回句柄的 Winsock 函数,返回值 INVALID_SOCKET (0xffff) 表示错误,并且可以通过调用 WSAGetLastError 检索特定的错误号。 对于返回指针的 Winsock 函数, 返回值 NULL 表示错误,可以通过调用 WSAGetLastError 函数检索特定的错误号。

Winsock 错误代码可以转换为 HRESULT,以便在使用 HRESULT_FROM_WIN32 (RPC) 远程过程调用中使用。 在早期版本的平台软件开发工具包 (SDK) 中,HRESULT_FROM_WIN32定义为 Winerror.h 头文件中的宏。 在 Microsoft Windows 软件开发工具包 (SDK) 中,HRESULT_FROM_WIN32定义为 Winerror.h 头文件中的内联函数。

Windows 套接字错误代码