- Return a better status for STATUS_CANCELLED, STATUS_FILE_CLOSED, and STATUS_REMOTE_NOT_LISTENING

svn path=/trunk/; revision=40585
This commit is contained in:
Cameron Gutman
2009-04-18 17:00:54 +00:00
parent 35ca7ca698
commit dfdb662012
+6 -9
View File
@@ -320,6 +320,7 @@ DWORD MsafdReturnWithErrno(NTSTATUS Status,
if( ReturnedBytes )
*ReturnedBytes = Received;
break;
case STATUS_FILE_CLOSED:
case STATUS_END_OF_FILE:
*Errno = WSAESHUTDOWN;
break;
@@ -342,24 +343,20 @@ DWORD MsafdReturnWithErrno(NTSTATUS Status,
break;
case STATUS_REMOTE_NOT_LISTENING:
DbgPrint("MSAFD: STATUS_REMOTE_NOT_LISTENING\n");
*Errno = WSAECONNRESET;
*Errno = WSAECONNREFUSED;
break;
case STATUS_NETWORK_UNREACHABLE:
DbgPrint("MSAFD: STATUS_NETWORK_UNREACHABLE\n");
*Errno = WSAENETUNREACH;
break;
case STATUS_FILE_CLOSED:
DbgPrint("MSAFD: STATUS_FILE_CLOSED\n");
*Errno = WSAENOTSOCK;
break;
case STATUS_INVALID_PARAMETER:
DbgPrint("MSAFD: STATUS_INVALID_PARAMETER\n");
*Errno = WSAEINVAL;
break;
case STATUS_CANCELLED:
DbgPrint("MSAFD: STATUS_CANCELLED\n");
*Errno = WSAENOTSOCK;
break;
case STATUS_CANCELLED:
DbgPrint("MSAFD: STATUS_CANCELLED\n");
*Errno = WSA_OPERATION_ABORTED;
break;
default:
DbgPrint("MSAFD: Error %x is unknown\n", Status);
*Errno = WSAEINVAL;