指定した通信デバイスでイベントの発生を監視する
Declare Function WaitCommEvent Lib "kernel32.dll" _
(ByVal hFile As Long, lpEvtMask As Long, lpOverlapped As OVERLAPPED ) As Long
Declare Function WaitCommEvent Lib "kernel32.dll" _
(ByVal hFile As Integer, lpEvtMask As Integer, lpOverlapped As OVERLAPPED ) As Integer
BOOL WaitCommEvent(
HANDLE hFile,
LPDWORD lpEvtMask,
LPOVERLAPPED lpOverlapped,
);
引数
hFile
通信デバイスのハンドル(CreateFile()関数の戻り値)lpEvtMask
(戻り値)イベントが発生したときに、その種類を受け取るためのLONG型変数lpOverlapped
どんなイベントが起こったかを示す定数の組み合わせの値が返される
hFileのハンドルの属性がFILE_FLAG_OVERLAPPEDフラグを持つとき OVERLAPPED構造体戻り値
同、持たないとき 0
正常終了のとき 0以外備考
エラーのとき 0
lpOverlappedに0を指定するとイベントが発生するまで制御が返ってこない。[:2]の定数
通信デバイスのイベントマスクを設定・取得するにはSetCommMask()関数と GetCommMask()関数を使う。
詳細はMSDNを参照。
Const EV_BREAK = &H40 'ブレークを受信した
Const EV_CTS = &H8 'CTS(送信可)信号の状態が変化した
Const EV_DSR = &H10 'DSR(データセットレディ)信号の状態が変化した
Const EV_ERR = &H80 '回線状態エラーが発生
Const EV_RING = &H100 '呼び出し信号を検出した
Const EV_RLSD = &H20 'RLSD(受信線信号検出)信号の状態が変化した
Const EV_RXCHAR = &H1 '1文字受信し、入力バッファに入れた
Const EV_RXFLAG = &H2 'イベント文字を受信し、入力バッファに入れた
'イベント文字はデバイスのDCB構造体で指定する(SetCommState()関数)
Const EV_TXEMPTY = &H4 '出力バッファの最後の文字を送信した