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

2010-12-30 21:03:01 · 作者: · 浏览: 59209
Param的高16位包含着错误代码.该代码可以是winsock.h中定义的任何错误.错误代码为0说明异步操作成功.在成功完成的情况下,提供给初始函数调用的缓冲区中包含了一个hostent结构.为存取该结构中的元素,初始的缓冲区指针应置为hostent结构的指针,并一如平常地存取.

       注意若错误代码为WSAENOBUFS,它说明在初始调用时由buflen指出的缓冲区大小对于容纳所有的结果信息来说太小了.在这种情况下,lParam的低16位含有提供所有信息所需的缓冲区大小数值.如果应用程序认为获取的数据不够,它就可以在设置了足够容纳所需信息的缓冲区后,重新调用WSAAsyncGetHostByAddr().(也就是大于lParam16位提供的大小.)

       错误代码和缓冲区大小应使用WSAGETASYNCERRORWSAGETASYNCBUFLEN宏从lParam中取出.两个宏定义如下:

                     #define WSAGETASYNCERROR(lParam)            HIWORD(lParam)

                     #define WSAGETASYNCBUFLEN(lParam)           LOWORD(lParam)

      

 &nbs