wserialcomm.h

来自「手机发送短信的Activex控件」· C头文件 代码 · 共 61 行

H
61
字号
// WSerialComm.h: interface for the CWSerialComm class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_WSERIALCOMM_H__37A6B64A_127F_4144_B02D_BC3983667F0C__INCLUDED_)
#define AFX_WSERIALCOMM_H__37A6B64A_127F_4144_B02D_BC3983667F0C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


const int READ_BUFF_SIZE = 1024;

class CWSerialComm  
{
public:
	
	BOOL CloseCom();
	BOOL IsOpen();
	BOOL OpenCom(int portNo);

	CWSerialComm();
	~CWSerialComm();

protected:

   // called by ReadCommBlock() and WriteDataBlock() to report error
   // return the successive operation: ignore or retry
   // dwError is gotten by ClearCommError()
   virtual BOOL	OnCommPortError(  DWORD dwError, BOOL bReading = TRUE );
   virtual void	OnDataRead( const LPBYTE, DWORD ) ; 
   
   BOOL     WriteDataBlock(const BYTE* lpByte, DWORD dwBytesToWrite);

private:

   static   void GetCommName( LPSTR lpszComName, int portNo);
   DWORD	ReadCommBlock( ) ;	
   BOOL     InitMembers();
   void		SetCommConfig();

   HANDLE m_hComDev;
   
   // status
   volatile BOOL m_bOpened;	//opened

   //
   HANDLE	   m_hCommWatchThread;
   volatile DWORD       m_dwThreadID ;		
   
   OVERLAPPED  m_osWrite, m_osRead ;

   BYTE      m_pReadBuff[ READ_BUFF_SIZE ];	

   friend UINT CommWatchProc( LPVOID lpData ); 

};

#endif // !defined(AFX_WSERIALCOMM_H__37A6B64A_127F_4144_B02D_BC3983667F0C__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?