// // Return the device control block // DCB CSerialPort::GetDCB() { return m_dcb; } // // Return the communication event masks // DWORD CSerialPort::GetCommEvents() { return m_dwCommEvents; }
3.3.6错误处理
// // If there is a error, give the right message // void CSerialPort::ProcessErrorMessage(char *ErrorText) { char *Temp = new char[200]; LPVOID lpMsgBuf; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL); sprintf(Temp, "WARNING: %s Failed with the following error: /n%s/nPort: %d/n", (char*) ErrorText, lpMsgBuf, m_nPortNr); MessageBox(NULL, Temp, "Application Error", MB_ICONSTOP); LocalFree(lpMsgBuf); delete []Temp; }