Windows Sockets 2扩展库函数简要参考(十五)

2010-12-30 21:01:20 · 作者: · 浏览: 31734
sp;            缓冲区太小,无法保存所有PROTOCOL_INFO结构及其相关信息。传入的缓冲区大小至少应等于lpdwBufferLength中返回的值。

 

 

7.8 WSAEventSelect()

简述:确定与所提供的FD_XXX网络事件集合相关的一个事件对象。

 

          #include <winsock2.h>

 

          int WSAAPI WSAEventSelect ( SOCKET s, WSAEVENT

          hEventObject, long lNetworkEvents );

 

         

s:一个标识套接口的描述字。

hEventObject:一个句柄,用于标识与所提供的FD_XXX网络事件集合相关的一个事件对象。

lNetworkEvents:一个屏蔽位,用于指定感兴趣的FD_XXX网络事件组合。

 

返回值:

  如果应用程序指定的网络事件及其相应的事件对象成功设置,则返回0。否则的话,将返回INVALID_SOCKET错误,应用程序可通过WSAGetLastError()来获取相应的错误代码。

  在使用select()WSAAsyncSelect()函数时,WSAEventSelect()常用来决定何时进行数据传送操作(如send()recv()),并期望能立即成功。但是一个稳定的应用程序应该做好这样的准备,即事件对象被设置,并且一个WinSock调用以WSAEWOULDBLOCK立即返回 。举例来说,有可能发生下述操作序