套接口库函数参考(九十四)

2010-12-30 21:03:01 · 作者: · 浏览: 59211
etHostByName())启动的.hAsyncTaskHandle参数标识了要取消的操作,它应由初始函数作为异步任务句柄返回.

 

返回值:

       0           异步操作成功地被取消.

       SOCKET_ERROR    其它情况.(同时可通过调用WSAGetLastError()获得错误代码)

 

评论:

       试图取消一个已存在的异步操作WSAAsyncGetXByY()可能失败(错误代码WSAEALREADY),原

因有二:首先,原来的操作已经完成,并且应用程序已经处理了结果消息。其次,原始操作已经完成,但结果消息仍在应用程序窗口队列中等待。

 

关于Windows Sockets提供者的说明:

       应用程序是否能有效地区分WSAEINVALWSAEALREADY是不清楚的,因为在这两种情况下,错误代码指出不存在指定句柄的异步操作在运行。(小例外:0总是非法的异步任务句柄。)Windows Sockets规格说明不会规定一个Windows Sockets实现怎样区分这两种情况。最大可能的情况是,Windows Sockets应用程序应将两种错误视为相同。

 

错误代码:

       WSANOTINITIALISED       在使用本API前必须进行一次成功的WSAStartup()调用.

       WSAENETDOWN     WINDOWS SOCKETS实现已检测到网络子系统故障.