home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / win_lrn / comm / getcstat.c < prev    next >
Text File  |  1988-08-10  |  2KB  |  67 lines

  1. /*
  2.  *
  3.  *  GetCommState
  4.  *  
  5.  *  This program demonstrates the use of the function GetCommState.
  6.  *  This function fills the buffer pointed to by the last parameter with the
  7.  *  device control block of the communication device specified by the first
  8.  *  parameter.
  9.  *  
  10.  *  Windows Version 2.0 function demonstration application
  11.  *
  12.  */
  13.  
  14. #include <windows.h>
  15.  
  16. int PASCAL WinMain( hInstance, hPrevInstance, lpszCmdLine, cmdShow )
  17. HANDLE hInstance, hPrevInstance;
  18. LPSTR  lpszCmdLine;
  19. int    cmdShow;
  20. {
  21.   int nCid;
  22.   WORD lpResult;
  23.   DCB CommDCB;
  24.  
  25.   nCid = OpenComm ( (LPSTR)"COM1", 50, 50);
  26.   if ( nCid < 0 )
  27.      {
  28.      MessageBox (NULL, (LPSTR)"OpenComm Failed", (LPSTR)"OpenComm",
  29.         MB_OK|MB_ICONEXCLAMATION);
  30.      exit (1);
  31.      }
  32.  
  33.   CommDCB.BaudRate = 9600;
  34.   CommDCB.ByteSize = 8;
  35.   CommDCB.StopBits = ONESTOPBIT;
  36.   CommDCB.TxDelay = 10;
  37.   CommDCB.Parity = NOPARITY;
  38.   CommDCB.PeChar = 0;
  39.   CommDCB.RlsTimeout = 1000;
  40.   CommDCB.CtsTimeout = 1000;
  41.   CommDCB.DsrTimeout = 1000;
  42.   CommDCB.XonChar = 2;
  43.   CommDCB.XoffChar = 3;
  44.   CommDCB.XonLim = 1000;
  45.   CommDCB.XoffLim = 1000;
  46.   CommDCB.EofChar = 4;
  47.   CommDCB.EvtChar = 5;
  48.  
  49.   SetCommState( (DCB FAR *)&CommDCB );
  50.  
  51.   MessageBox (NULL, (LPSTR)"Requesting communication port state",
  52.      (LPSTR)"GetCommState", MB_OK);
  53.  
  54.   lpResult = GetCommState ( nCid, (DCB FAR *)&CommDCB );
  55.  
  56.   if ( lpResult == 0 )
  57.      MessageBox (NULL, (LPSTR)"Communication port state received", 
  58.                 (LPSTR)"GetCommState", MB_OK);
  59.   else
  60.      MessageBox (NULL, (LPSTR)"Error when getting state",
  61.         (LPSTR)"GetCommState", MB_OK);
  62.  
  63.   CloseComm ( nCid );
  64.   
  65.   return 0;
  66. }
  67.