📄 d053.bmp.txt
字号:
,,辅助线程,负责监视串行口
UINT CommProc(LPVOID pParam)
{
OVERLAPPED os;
DWORD dwMask, dwTrans;
COMSTAT ComStat;
DWORD dwErrorFlags;
CTermDoc *pDoc=(CTermDoc*)pParam;
memset(&os,0, sizeof(OVERLAPPED》;
os.hEvent;CreateEvent(NULL, TRUE, FALSE, NULL);
if(os.hEvent==NULL)
{
AfxMessageBox(”无法创建事件对象%
return (UINT)-1;
}
while(pDoc->m_bConnected)
{
ClearCommError(pDoc->m_hCom,&dwErrorFlags,&ComStat);
if(ComStat.cblnQue)
{
,,无限等待WM_COMMNOTIFY消息被处理完
WaitForSingleObj ect(pDoc->m_hPostMsgEvent, INFINITE);
ResetEvent(pDoc->m_hPostMsgEvent);
,,通知视图,有字符到
PostMessage(pDoc->m__ hTermWnd,WM_COMMNOTIFY,EV. RXCHAR,O);
continue,
}
dwMask=0;
if(! WaitCommEvent(pDoc->m_hCom,&dwMask, &os》,,重叠操作
{
if(GetLastError()-ERROR_IO_PENDING)
,,无限等待重叠操作结果
GetOverlappedResult(pDoc->m_hCoW &os, &dwTrans, TRUE);
else
{
CloseHandle(os.hEvent);
retum (UINT)-1;
)
}
】
CloseHandle(os.hEvent);
retum0:
OnNewDocument成员函数创建3个事件对象:
53
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -