Article View: cn.bbs.comp.program
Article #1366Re: Win95 API �� Win95 Comm Port �� ��
From: ����
Date: Tue, 14 Apr 1998 00:00
Date: Tue, 14 Apr 1998 00:00
70 lines
3128 bytes
3128 bytes
�� �� rgong. �Ĵ������ᵽ: ��
: �� �� �� WIN95 COMM PORT �� �� ��
: �� �� CreatFile �� �� COM1�� Ϊ ʲ ô �� �� �� ERROR��(�� �� ֵ �� �� -1)
: �� �� �� ��lpFileName?
: �� д COM1�� �� ��lpFileName="COM1"?
: �� л ָ �� ��
BOOL NEAR OpenConnection()
{
char szPort[15];
BOOL fRetVal;
HCURSOR hOldCursor,hWaitCursor;
HANDLE hCommWatchThread;
DWORD dwThreadID;
COMMTIMEOUTS CommTimeOuts;
if (!npGPSInfo) return (FALSE);
hWaitCursor=LoadCursor(NULL,IDC_WAIT) ;
hOldCursor=SetCursor(hWaitCursor) ;
wsprintf(szPort,"COM%d",PORT(npGPSInfo));
if ((COMDEV(npGPSInfo)=CreateFile(szPort,GENERIC_READ|GENERIC_WRITE,
0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,
NULL))==(HANDLE)-1)
return ( FALSE ) ;
else
{ SetCommMask(COMDEV(npGPSInfo),EV_RXCHAR);
SetupComm(COMDEV(npGPSInfo),4096,4096);
PurgeComm(COMDEV(npGPSInfo),PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);
CommTimeOuts.ReadIntervalTimeout=0xFFFFFFFF;
CommTimeOuts.ReadTotalTimeoutMultiplier=0;
CommTimeOuts.ReadTotalTimeoutConstant=1000;
CommTimeOuts.WriteTotalTimeoutMultiplier=0;
CommTimeOuts.WriteTotalTimeoutConstant=1000;
SetCommTimeouts(COMDEV(npGPSInfo),&CommTimeOuts);
}
fRetVal=SetupConnection();
if (fRetVal)
{ CONNECTED(npGPSInfo)=TRUE;
if (NULL==(hCommWatchThread=CreateThread((LPSECURITY_ATTRIBUTES)NULL,
0,(LPTHREAD_START_ROUTINE)CommWatchProc,
(LPVOID)NULL,0,&dwThreadID)))
{ CONNECTED(npGPSInfo)=FALSE;
CloseHandle(COMDEV(npGPSInfo));
fRetVal=FALSE;
}
else
{ THREADID(npGPSInfo)=dwThreadID;
HTHREAD(npGPSInfo)=hCommWatchThread;
EscapeCommFunction(COMDEV(npGPSInfo),SETDTR);
}
}
else
{ CONNECTED(npGPSInfo)=FALSE;
CloseHandle(COMDEV(npGPSInfo));
}
SetCursor(hOldCursor);
return (fRetVal);
}
--
[m[1;33m�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: dialup61-024.nj][m
Technical Details
Message-ID:
<3O6iZF$t90@bbs.nju.edu.cn>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: fc86e,69751e983eb26185 X-Google-Attributes: gidfc86e,public From: quest.bbs@bbs.nju.edu.cn (����) Subject: Re: Win95 API �� Win95 Comm Port �� �� Date: 1998/04/14 Message-ID: <3O6iZF$t90@bbs.nju.edu.cn> X-Deja-AN: 344248177 X-Filename: Programming/M.892580511.A Organization: nju_bbs Newsgroups: cn.bbs.comp.program