WSAErrorString.cpp
上传用户:hyz2004817
上传日期:2022-03-30
资源大小:226k
文件大小:5k
源码类别:

远程控制编程

开发平台:

Visual C++

  1. #include "stdafx.h"
  2.  char ___s[256];
  3. extern "C" char * WINAPI WSAErrorString( int WSAError )
  4. {
  5. switch( WSAError )
  6. {
  7. case WSAEACCES: // 10013
  8. lstrcpy( ___s, "拒绝访问 10013" ); 
  9. break;
  10. case WSAEADDRINUSE: // 10048 
  11. lstrcpy( ___s, "地址已经使用 10048" );
  12. break;
  13. case WSAEADDRNOTAVAIL: // 10049
  14. lstrcpy( ___s, "请求的地址无效 10049" );
  15. break;
  16. case WSAEAFNOSUPPORT: // 10047
  17. lstrcpy( ___s, "地址家族不支持 10047" );
  18. break;
  19. case WSAEALREADY: // 10037
  20. lstrcpy( ___s, "操作已经在进行中 10037" );
  21. break;
  22. case WSAECONNABORTED: // 10053
  23. lstrcpy( ___s, "软件原因连接被中断 10053" );
  24. break;
  25. case WSAECONNREFUSED: // 10061
  26. lstrcpy( ___s, "连接被拒绝 10061" );
  27. break;
  28. case WSAECONNRESET: // 10054
  29. lstrcpy( ___s, "连接被重置 10054" );
  30. break;
  31. case WSAEDESTADDRREQ: // 10039
  32. lstrcpy( ___s, "必须指定目的地址 10039" );
  33. break;
  34. case WSAEFAULT:
  35. lstrcpy( ___s, "地址错误 10014" );
  36. break;
  37. case WSAEHOSTDOWN:
  38. lstrcpy( ___s, "远程主机死机了( 蓝屏?) 10064" );
  39. break;
  40. case WSAEHOSTUNREACH:
  41. lstrcpy( ___s, "无法找到主机 10065" );
  42. break;
  43. case WSAEINPROGRESS:
  44. lstrcpy( ___s, "阻塞操作正在进行 10036" );
  45. break;
  46. case WSAEINTR:
  47. lstrcpy( ___s, "阻塞操作被打断 10004" );
  48. break;
  49. case WSAEINVAL:
  50. lstrcpy( ___s, "参数无效 10022" );
  51. break;
  52. case WSAEISCONN:
  53. lstrcpy( ___s, "套接字已经连接 10056" );
  54. break;
  55. case WSAEMFILE:
  56. lstrcpy( ___s, "打开的套接字太多 10024" );
  57. break;
  58. case WSAEMSGSIZE:
  59. lstrcpy( ___s, "消息太长 10040" );
  60. break;
  61. case WSAENETDOWN:
  62. lstrcpy( ___s, "网络系统, 网络接口, 本地网络有错误 10050" );
  63. break;
  64. case WSAENETRESET:
  65. lstrcpy( ___s, "保持活动的连接在操作中出现错误 10052" );
  66. break;
  67. case WSAENETUNREACH:
  68. lstrcpy( ___s, "网络无法到达 10051" );
  69. break;
  70. case WSAENOBUFS:
  71. lstrcpy( ___s, "没有可用的缓冲区 10055" );
  72. break;
  73. case WSAENOPROTOOPT:
  74. lstrcpy( ___s, "错误的协议选项 10042" );
  75. break;
  76. case WSAENOTCONN:
  77. lstrcpy( ___s, "套接字没有连接 10057" );
  78. break;
  79. case WSAENOTSOCK:
  80. lstrcpy( ___s, "套接字句柄无效 10038" );
  81. break;
  82. case WSAEOPNOTSUPP:
  83. lstrcpy( ___s, "操作不支持 10045" );
  84. break;
  85. case WSAEPFNOSUPPORT:
  86. lstrcpy( ___s, "协议族不支持 10046" );
  87. break;
  88. case WSAEPROCLIM:
  89. lstrcpy( ___s, "使用 WinSock 的进程太多 10067" );
  90. break;
  91. case WSAEPROTONOSUPPORT:
  92. lstrcpy( ___s, "协议不支持 10043" );
  93. break;
  94. case WSAEPROTOTYPE:
  95. lstrcpy( ___s, "协议类型错误 10041" );
  96. break;
  97. case WSAESHUTDOWN:
  98. lstrcpy( ___s, "套接字关闭后无法进行发送操作 10058" );
  99. break;
  100. case WSAESOCKTNOSUPPORT:
  101. lstrcpy( ___s, "套接字类型不支持 10044" );
  102. break;
  103. case WSAETIMEDOUT:
  104. lstrcpy( ___s, "连接超时 10060" );
  105. break;
  106. case WSATYPE_NOT_FOUND:
  107. lstrcpy( ___s, "指定的类没有发现 10109" );
  108. break;
  109. case WSAEWOULDBLOCK:
  110. lstrcpy( ___s, "资源暂时无法获得 10035" );
  111. break;
  112. case WSAHOST_NOT_FOUND:
  113. lstrcpy( ___s, "主机没有发现 11001" );
  114. break;
  115. case WSA_INVALID_HANDLE:
  116. lstrcpy( ___s, "无效句柄 (OS dependent)" );
  117. break;
  118. case WSA_INVALID_PARAMETER:
  119. lstrcpy( ___s, "无效参数 (OS dependent)" );
  120. break;
  121. // case WSAINVALIDPROCTABLE:
  122. // lstrcpy( ___s, "无效的过程表 (OS dependent)" );
  123. // break;
  124. // case WSAINVALIDPROVIDER:
  125. // lstrcpy( ___s, "无效的提供者版本 (OS dependent)" );
  126. // break;
  127. case WSA_IO_INCOMPLETE:
  128. lstrcpy( ___s, "重叠 I/O 事件对象不在通知状态 (OS dependent)" );
  129. break;
  130. case WSA_IO_PENDING:
  131. lstrcpy( ___s, "重叠操作将在过后完成 (OS dependent)" );
  132. break;
  133. case WSA_NOT_ENOUGH_MEMORY:
  134. lstrcpy( ___s, "内存不足 (OS dependent) " );
  135. break;
  136. case WSANOTINITIALISED:
  137. lstrcpy( ___s, "WSAStartup 函数没有成功的调用 10093" );
  138. break;
  139. case WSANO_DATA:
  140. lstrcpy( ___s, "请求的名字有效, 但没有请求的数据记录 11004" );
  141. break;
  142. case WSANO_RECOVERY:
  143. lstrcpy( ___s, "无法回复错误, 可能服务器数据库文件没有发现,也可能是服务器返回了错误 11003" );
  144. break;
  145. // case WSAPROVIDERFAILEDINIT:
  146. // lstrcpy( ___s, "无法初始化服务提供者 (OS dependent)" );
  147. // break;
  148. case WSASYSCALLFAILURE:
  149. lstrcpy( ___s, "系统调用失败 (OS dependent)" );
  150. break;
  151. case WSASYSNOTREADY:
  152. lstrcpy( ___s, "网络子系统错误 10091" );
  153. break;
  154. case WSATRY_AGAIN:
  155. lstrcpy( ___s, "Nonauthoritative host not found. please try again later 11002" );
  156. break;
  157. case WSAVERNOTSUPPORTED:
  158. lstrcpy( ___s, "请求的版本不支持 10092" );
  159. break;
  160. case WSAEDISCON:
  161. lstrcpy( ___s, "从容关闭正在进行中 10101" );
  162. break;
  163. case WSA_OPERATION_ABORTED:
  164. lstrcpy( ___s, "重叠操作被中断 (OS dependent)" );
  165. break;
  166. default:
  167. lstrcpy( ___s, "未知错误" );
  168. }
  169. return ___s;
  170. }