現在、WSAEventSelectを使用していろいろやってみているのですが、
どうも使い方がよくわかりません。
いままでは、WSAAsyncSelectの方を使っていて、問題ありませんでした。

socket → WSACreateEvent → WSAEventSelect → bind →
→ listen → WSAWaitForMultipleEvents → WSAEnumNetworkEvents
の順番で呼び出すのですが、たしかに、FD_ACCEPTイベントは発生し、所得でき
ます。
しかし、それ以外のイベントが発生しません。
また、FD_READがもし発生したとしても、WSAAsyncSelectのように、socketが引
数で飛んでくるわけでもありませんので、socketハンドルを所得することができ
ません。

もしかして、こういうものなのでしょうか?
もちろん、FD_ACCEPTが発生した時に、accept関数を呼び出し、その後、recv関
数を呼び出せば正常に読み込めます。
現在は、
FD_ACCEPTが発生→accept関数→read関数→close関数
という順序で、やりたいことはできているのですが、
なんとなく納得できません。
WSAEventSelect(listenSocket,hEvent,FD_ACCEPT | FD_READ | FD_WRITE |
FD_CLOSE) として呼び出しているので、FD_CLOSEイベントに対応してclose関数
を呼び出さなくてはいけないような気がするのですが。

以上、詳しい方がいらっしゃいましたらば、よろしくお願いします。