使用SetCommMask函数设置所要检测的事件后,当此事件发生时,就可以用WaitCommEvent得知该事件是否已发生,若此函数返回True,表示设置的信息已发生:
WaitCommEvent函数原型:
1 2 3 4 5 |
BOOL WaitComrnEvent( HANDLE hFi1e, //通信设备的句柄 LPWORD lpEvtMask,//发生的事件变量的地址 LPOVERLAPFED lpoverlapped //Overlapped结构的地址 ) |
WaitCommEvent函数参数说明如下:
- hFiie:串行端口的Handle值,此值即为使用CreateFile函数后所返回的值。
- IpEvtMask:指向所检测到的信息的参数地址,32位长度,信息常数如SetCommMask函数的第二个参数,若发生错误,则此值返回0。
- IpOverlapped:使用Overlapped方式打开文件时应给定的结构,在串行通信中若不采用后台工作时,则可不使用;但是在不使用Overlapped的情形下,若己设置了信息屏蔽,则会使得程序停在比函数上,一直到有事件发生,并被检到为止,才会离开等待的状态,因此使用时需注意,最好还是使用Overlapped结构在等待息的程序。