1. 程式人生 > >關於Winsock:Winsock程式設計注意事項:處理Winsock錯誤

關於Winsock:Winsock程式設計注意事項:處理Winsock錯誤

函式返回時,大多數Windows Sockets 2函式都不會返回錯誤的具體原因。 如果成功,某些Winsock函式返回零值。 否則,返回值SOCKET_ERROR(-1),並通過呼叫WSAGetLastError函式來檢索特定的錯誤號。 對於返回控制代碼的Winsock函式,返回值INVALID_SOCKET(0xffff)表示錯誤,並且可以通過呼叫WSAGetLastError來檢索特定錯誤號。 對於返回指標的Winsock函式,返回值NULL表示錯誤,並且可以通過呼叫WSAGetLastError函式來檢索特定的錯誤號。

可以使用HRESULT_FROM_WIN32將Winsock錯誤程式碼轉換為HRESULT,以便在遠端過程呼叫(RPC)中使用。 在早期版本的平臺軟體開發工具包(SDK)中,HRESULT_FROM_WIN32被定義為Winerror.h標頭檔案中的巨集。 在Microsoft Windows軟體開發工具包(SDK)中,HRESULT_FROM_WIN32被定義為Winerror.h標頭檔案中的行內函數。