指定した通信デバイスでイベントが発生するのを待機する。本関数が監視するイベントセットはデバイスハンドルに関連付けられたイベントマスクに含まれる。
WaitCommEvent hFile, lpEvtMask, lpOverlapped
hFile : [intptr] 通信デバイスのハンドル。CreateFile 関数が返す。 lpEvtMask : [var] lpOverlapped : [var] OVERLAPPED 構造体へのポインタ。hFile が FILE_FLAG_OVERLAPPED で開かれていれば必須である。
(プラグイン / モジュール : kernel32.dll)
指定した通信デバイスでイベントが発生するのを待機する。本関数が監視するイベントセットはデバイスハンドルに関連付けられたイベントマスクに含まれる。 [戻り値] 関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] WaitCommEvent は指定通信リソースに対するイベントセットを監視する。通信リソースの現在のイベントマスクを設定・取得するには SetCommMask / GetCommMask を使う。オーバーラップ操作が即座に完了できない場合、関数は FALSE を返し GetLastError は ERROR_IO_PENDING を返してバックグラウンド実行を示す。この場合、システムは WaitCommEvent が戻る前に OVERLAPPED の hEvent メンバを非シグナル状態に設定し、指定イベントまたはエラー発生時にシグナル状態にする。呼び出し側プロセスは待機関数の一つでイベントオブジェクト状態を判定し、GetOverlappedResult で WaitCommEvent 結果を判定できる。GetOverlappedResult は操作の成否を報告し、lpEvtMask が指す変数に発生イベントを示す。プロセスがオーバーラップ WaitCommEvent 進行中に SetCommMask でデバイスハンドルのイベントマスクを変更しようとすると、WaitCommEvent は即座に戻る。lpEvtMask が指す変数は 0 となる。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |