Com.cpp
资源名称:视频会议系统.rar [点击查看]
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:2k
源码类别:
IP电话/视频会议
开发平台:
Visual C++
- // Com.cpp: implementation of the CCom class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "....stdafx.h"
- #include "Com.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- CCom::CCom()
- {
- this->hCom = NULL;
- }
- CCom::~CCom()
- {
- }
- BOOL CCom::Open(int nPort,const char *buf)
- {
- CString szPort;
- szPort.Format("COM%d",nPort);
- //打开端口
- this->hCom = ::CreateFile(szPort, //端口
- GENERIC_READ | GENERIC_WRITE, // 允许读写
- 0, // 此项必须为0
- NULL,//安全模式
- OPEN_EXISTING,//打开现成端口
- 0, //打开模式
- NULL);
- if(this->hCom == INVALID_HANDLE_VALUE) //检测打开串口操作是否成功
- return FALSE;
- //设定DCB
- DCB dcb;
- memset(&dcb,0,sizeof(dcb));
- if(!::BuildCommDCB(buf,&dcb))
- goto end;
- if(!::SetCommState(this->hCom,&dcb))
- goto end;
- if(!::PurgeComm(this->hCom,PURGE_RXCLEAR | PURGE_TXCLEAR))
- goto end;
- return TRUE;
- end :
- ::CloseHandle(this->hCom);this->hCom = NULL; return FALSE;
- }
- void CCom::Close(void)
- {
- ::CloseHandle(this->hCom);this->hCom = NULL; return ;
- }
- BOOL CCom::Write(void *buffer,DWORD size)
- {
- if(this->hCom != NULL)
- {
- DWORD write = size;
- return ::WriteFile(this->hCom,buffer,size,&write,NULL) != NULL;
- }
- return FALSE;
- }
- BOOL CCom::Read(void *buffer,DWORD size)
- {
- return TRUE;
- }