Q1.パリティエラーなどのエラーは検出出来ないのですか?
A1.通信エラーは、IOCTL_SERIAL_GET_COMMSTATUSのErrorsの値で確認する事が出来ます。値は、bit毎の論理和になっています。通信エラーが発生している場合は、イベントリストにアイコンが表示されます。
Errorsの値
bit |
定義名 |
エラー内容 |
0x01 |
SERIAL_ERROR_BREAK |
ブレーク検出 |
0x02 |
SERIAL_ERROR_FRAMING |
フレーミングエラー |
0x04 |
SERIAL_ERROR_OVERRUN |
オーバーランエラー |
0x08 |
SERIAL_ERROR_QUEUEOVERRUN |
キューオーバーランエラー |
0x10 |
SERIAL_ERROR_PARITY |
パリティエラー |
この値が有効になる条件としては、以下の2つの条件が満たされる必要があります。
1)通信アプリケーションがエラーの検出を行うようにシリアルデバイスをプログラミングしている。
2)シリアルデバイスがエラーの検出をサポートしている。
USBシリアルデバイスなどでは、一部のエラー検出をサポートしていないものもあるようです。
|