home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / win_lrn / comm / gcem.c < prev    next >
C/C++ Source or Header  |  1988-08-10  |  2KB  |  54 lines

  1. /*
  2.  *
  3.  *  GetCommEventMask
  4.  *  
  5.  *  This program demonstrates the use of the function GetCommEventMask.
  6.  *  This function retrieves the value of the current event mask, and then
  7.  *  clears the mask.
  8.  *
  9.  */
  10.  
  11. #include <windows.h>
  12.  
  13. int PASCAL WinMain(hInstance, hPrevInstance, lpszCmdLine, cmdShow)
  14. HANDLE hInstance, hPrevInstance;
  15. LPSTR  lpszCmdLine;
  16. int    cmdShow;
  17. {
  18.   int nCid;         /* Comm Port ID.     */
  19.   WORD wEvent;      /* Event mask value. */
  20.  
  21.   /* Open COM1. */
  22.   nCid = OpenComm((LPSTR)"COM1", 50, 50);
  23.   if (nCid < 0)
  24.     {
  25.     MessageBox(GetFocus(), (LPSTR)"OpenComm Failed", (LPSTR)"OpenComm()",
  26.                MB_OK | MB_ICONEXCLAMATION);
  27.     return 1;
  28.     }
  29.  
  30.   /* Set the event mask to allow for detection of input break events. */
  31.   SetCommEventMask(nCid, EV_BREAK);
  32.   
  33.   /* Get the event mask and check to see if a break was detected. This
  34.      would normally be put in a WM_TIMER message for use over time in
  35.      a communications setting. */
  36.   MessageBox(GetFocus(), (LPSTR)"Requesting Communications Event Mask", 
  37.              (LPSTR)"GetCommEventMask()", MB_OK);
  38.   wEvent = GetCommEventMask(nCid, EV_BREAK);
  39.   if ((wEvent & EV_BREAK) != 0)
  40.      MessageBox(GetFocus(),
  41.                 (LPSTR)"A Break Event was Detected.",
  42.                 (LPSTR)"GetCommEventMask()",
  43.                 MB_OK);
  44.   else
  45.      MessageBox(GetFocus(),
  46.                 (LPSTR)"A Break Event has Not Arrived.",
  47.                 (LPSTR)"GetCommEventMask()",
  48.                 MB_OK);
  49.  
  50.   /* Cleanup. */
  51.   CloseComm(nCid);
  52.   return 0;
  53. }
  54.