Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Proses dapat memantau serangkaian peristiwa yang terjadi dalam sumber daya komunikasi. Misalnya, aplikasi dapat menggunakan pemantauan peristiwa untuk menentukan kapan sinyal CTS (clear-to-send) dan DSR (data-set-ready) berubah status.
Proses dapat memantau peristiwa pada sumber daya komunikasi tertentu dengan menggunakan fungsiSetCommMaskuntuk membuat masker peristiwa. Untuk menentukan masker peristiwa saat ini untuk sumber daya komunikasi, proses dapat menggunakan fungsiGetCommMask. Nilai berikut menentukan peristiwa yang dapat dipantau.
| Nilai | Arti |
|---|---|
| EV_BREAK | Jeda terdeteksi pada input. |
| EV_CTS | Status perubahan sinyal CTS (clear-to-send). |
| EV_DSR | Status perubahan sinyal DSR (siap-set data). |
| EV_ERR | Terjadi kesalahan status baris. Kesalahan status baris CE_FRAME, CE_OVERRUN, dan CE_RXPARITY. |
| EV_RING | Indikator cincin terdeteksi. |
| EV_RLSD | Status sinyal RLSD (receive-line-signal-detect) berubah. |
| EV_RXCHAR | Karakter diterima dan ditempatkan di buffer input. |
| EV_RXFLAG | Karakter peristiwa diterima dan ditempatkan di buffer input. Karakter peristiwa ditentukan dalam strukturDCBperangkat, yang diterapkan ke port serial dengan menggunakan fungsiSetCommState. |
| EV_TXEMPTY | Karakter terakhir dalam buffer output dikirim. |
Setelah serangkaian peristiwa ditentukan, proses menggunakan fungsiWaitCommEvent untuk menunggu salah satu peristiwa terjadi. WaitCommEvent dapat digunakan secara sinkron atau sebagai operasi yang tumpang tindih. Untuk informasi tambahan tentang menjalankan fungsi sebagai operasi yang tumpang tindih, lihat Sinkronisasi.
Ketika salah satu peristiwa yang ditentukan dalam masker peristiwa terjadi, proses menyelesaikan operasi tunggu dan mengatur variabel masker peristiwa untuk menunjukkan jenis peristiwa yang terdeteksi. JikaSetCommMaskdipanggil untuk sumber daya komunikasi saat tunggu tertunda untuk sumber daya tersebut, WaitCommEvent mengembalikan kesalahan.
FungsiWaitCommEvent mendeteksi peristiwa yang telah terjadi sejak panggilan terakhir ke SetCommMask atau WaitCommEvent. Misalnya, jika Anda menentukan peristiwa EV_RXCHAR sebagai peristiwa yang memuaskan tunggu, panggilan ke WaitCommEvent akan terpenuhi jika ada karakter dalam buffer input driver yang telah tiba sejak panggilan terakhir ke WaitCommEvent atau SetCommMask. Dengan demikian, mengingat pseudocode berikut, setiap karakter yang diterima antara T1 dan T2 akan memenuhi panggilan berikutnya ke WaitCommEvent.
while (!bFinished)
{
WaitCommEvent(args)
T1: // Read bytes
// Process bytes
T2:
}
Saat memantau peristiwa yang terjadi ketika status perubahan sinyal (CTS, DSR, dan sebagainya), WaitCommEvent melaporkan perubahan, tetapi bukan status saat ini. Untuk mengkueri status CTS saat ini (clear-to-send), DSR (data-set-ready), RLSD (receive-line-signal-detect), dan sinyal indikator cincin, proses dapat menggunakan fungsiGetCommModemStatus.