memo/20070123
created 2007-01-23 modified 2007-01-23
ログ関数 | 備考 |
---|---|
RegisterEventSource | |
RegisterEventSource | |
DeregisterEventSource |
タイマ関数 | 備考 |
---|---|
CreateTimerQueue | |
CreateTimerQueueTimer | |
DeleteTimerQueueTimer | |
DeleteTimerQueueEx |
I/O関数 | 備考 |
---|---|
ReadFileEx | |
WriteFileEx |
WinSock API | 備考 |
---|---|
select | |
WSAAsyncSelect | |
WSAEvenSelect |
.Net API | 備考 |
---|---|
Poll | |
Select |
WindowsではUnixのselectに直接マップされるのはWinsockのselect系しかないみたいで、ファイルI/Oを同列に扱えるのはなさげ。
Windowsでファイルとソケットをまとめた概念で、かつシングルスレッドで読めるところから読む、書けるところから書く、というと、ReadFileExとかWriteFileExとか。
でもこれはselectとはちょっと別の概念(Unixでも非同期I/Oっていうとselectとは違う概念なのよね)。
WSAAsyncSelectは、ウィンドウアプリケーションのイベントループに対してメッセージを投げる形式。マウスやキーボードイベントとソケットイベントを同列で書ける。ウィンドウ不要の場合不適。
WSAEventSelectは、ウィンドウがないアプリでも使えそう。これは、単一のソケットに対し1つのイベントオブジェクトを結びつけるもの。で、読み書きなどのどれが可能になったかは、WSAEnumNetworkEventsを呼ぶとビットで分かるようになってる。
あー、ファイルI/Oと標準入出力は、また別っぽい。
CreateFileとかGetStdHandleとか