ページ 11

WSAAsyncSelect()を使用したいのですが・・・

Posted: 2006年9月04日(月) 18:02
by Mario2
現在、チャットプログラムを作成していて、それで"WSAAsyncSelect"というAPIを使いたいのですが、ネットに載ってる定義(?)では"FD_****"の部分で未定義(無効な識別子)エラーが発生します。

Const FM_TCPPROC = WM_USER+1
WSAAsyncSelect(socket,hMainWnd,FM_TCPSOCKET,FD_ACCEPT or FD_CLOSE or FD_READ or FD_WRITE)

ネット・過去ログで"FD_ACCEPT"等の単語で検索してみたものの、使い方は載っているけど、値が何なのかわかりませんでした。
FM_TCPPROCの値は調べていたら載っていたので間違っては無いと思うのですが・・・・

FD_ACCEPT
FD_CLOSE
FD_READ
FD_WRITE
の4つの値は何なのでしょうか?
よろしくお願いします。

FD_****

Posted: 2006年9月04日(月) 19:07
by xsb7
FD_READ=1
FD_WRITE=2
FD_ACCEPT=8
FD_CLOSE=32

です。

Re: FD_****

Posted: 2006年9月04日(月) 19:21
by Mario2
> FD_READ=1
> FD_WRITE=2
> FD_ACCEPT=8
> FD_CLOSE=32

xsb007さん、ありがとうございます。
数時間かかって探してみたのですが、見つからなくて・・・・(探し方が悪い・・・?)
大変助かりました。

Re: FD_****

Posted: 2006年9月08日(金) 01:39
by Sinryow
定義が分からない場合の探し方としては、こんな方法があります。

・英語版のMSDNで検索する。(日本語版MSDNは、.NET関連はしっかり書いてあるが、Win32APIの記述は貧弱。)
・Cコンパイラを何か1つ入れておき、そこのincludeフォルダに検索をかける。

もしまた迷うことがありましたらお試し下さい。