home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c480 / 19.ddi / SAMPLES / CDDEMO / ERROR.C_ / ERROR.C
Encoding:
C/C++ Source or Header  |  1993-02-08  |  7.0 KB  |  141 lines

  1. /**************************************************************************
  2. *                                                                         *
  3. *      File:  ERROR.C                                                     *
  4. *                                                                         *
  5. *   Purpose:  Contains the error routines for this program                *
  6. *                                                                         *
  7. * Functions:  void FAR ProcessCDError(DWORD)                              *
  8. *             void FAR ReportError(WORD)                                  *
  9. *                                                                         *
  10. *  Comments:                                                              *
  11. *                                                                         *
  12. *   History:  Date      Reason                                            *
  13. *             --------  -----------------------------------               *
  14. *                                                                         *
  15. *             10/01/91  Created                                           *
  16. *                                                                         *
  17. **************************************************************************/
  18.  
  19. #define WIN31
  20.  
  21. #include "windows.h"
  22. #include "commdlg.h"
  23. #pragma hdrstop
  24. #include "cderr.h"
  25. #include "cddemo.h"
  26.  
  27. /**************************************************************************
  28. *                                                                         *
  29. *  Function:  ProcessCDError(DWORD)                                       *
  30. *                                                                         *
  31. *   Purpose:  To report an error that has occurred during the last        *
  32. *             call to a CD routine.                                       *
  33. *                                                                         *
  34. *   Returns:  void                                                        *
  35. *                                                                         *
  36. *  Comments:                                                              *
  37. *                                                                         *
  38. *   History:  Date      Reason                                            *
  39. *             --------  -----------------------------------               *
  40. *                                                                         *
  41. *             10/01/91  Created                                           *
  42. *                                                                         *
  43. **************************************************************************/
  44. void FAR ProcessCDError(DWORD dwErrorCode)
  45. {
  46.    WORD  wStringID;
  47.  
  48.    switch(dwErrorCode)
  49.       {
  50.          case CDERR_DIALOGFAILURE:   wStringID=IDS_DIALOGFAILURE;   break;
  51.          case CDERR_STRUCTSIZE:      wStringID=IDS_STRUCTSIZE;      break;
  52.          case CDERR_INITIALIZATION:  wStringID=IDS_INITIALIZATION;  break;
  53.          case CDERR_NOTEMPLATE:      wStringID=IDS_NOTEMPLATE;      break;
  54.          case CDERR_NOHINSTANCE:     wStringID=IDS_NOHINSTANCE;     break;
  55.          case CDERR_LOADSTRFAILURE:  wStringID=IDS_LOADSTRFAILURE;  break;
  56.          case CDERR_FINDRESFAILURE:  wStringID=IDS_FINDRESFAILURE;  break;
  57.          case CDERR_LOADRESFAILURE:  wStringID=IDS_LOADRESFAILURE;  break;
  58.          case CDERR_LOCKRESFAILURE:  wStringID=IDS_LOCKRESFAILURE;  break;
  59.          case CDERR_MEMALLOCFAILURE: wStringID=IDS_MEMALLOCFAILURE; break;
  60.          case CDERR_MEMLOCKFAILURE:  wStringID=IDS_MEMLOCKFAILURE;  break;
  61.          case CDERR_NOHOOK:          wStringID=IDS_NOHOOK;          break;
  62.          case PDERR_SETUPFAILURE:    wStringID=IDS_SETUPFAILURE;    break;
  63.          case PDERR_PARSEFAILURE:    wStringID=IDS_PARSEFAILURE;    break;
  64.          case PDERR_RETDEFFAILURE:   wStringID=IDS_RETDEFFAILURE;   break;
  65.          case PDERR_LOADDRVFAILURE:  wStringID=IDS_LOADDRVFAILURE;  break;
  66.          case PDERR_GETDEVMODEFAIL:  wStringID=IDS_GETDEVMODEFAIL;  break;
  67.          case PDERR_INITFAILURE:     wStringID=IDS_INITFAILURE;     break;
  68.          case PDERR_NODEVICES:       wStringID=IDS_NODEVICES;       break;
  69.          case PDERR_NODEFAULTPRN:    wStringID=IDS_NODEFAULTPRN;    break;
  70.          case PDERR_DNDMMISMATCH:    wStringID=IDS_DNDMMISMATCH;    break;
  71.          case PDERR_CREATEICFAILURE: wStringID=IDS_CREATEICFAILURE; break;
  72.          case PDERR_PRINTERNOTFOUND: wStringID=IDS_PRINTERNOTFOUND; break;
  73.          case CFERR_NOFONTS:         wStringID=IDS_NOFONTS;         break;
  74.          case FNERR_SUBCLASSFAILURE: wStringID=IDS_SUBCLASSFAILURE; break;
  75.          case FNERR_INVALIDFILENAME: wStringID=IDS_INVALIDFILENAME; break;
  76.          case FNERR_BUFFERTOOSMALL:  wStringID=IDS_BUFFERTOOSMALL;  break;
  77.  
  78.          case 0:   //User may have hit CANCEL or we got a *very* random error
  79.          default:
  80.             return;
  81.       }
  82.  
  83.    if (!LoadString(ghInst, wStringID, gszBuffer, sizeof(gszBuffer)))
  84.       {
  85.          ReportError(IDC_LOADSTRINGFAIL);
  86.          return;
  87.       }
  88.  
  89.    MessageBox(ghWnd, gszBuffer, gszAppName, MB_OK);
  90.    return;
  91. }
  92.  
  93.  
  94. /**************************************************************************
  95. *                                                                         *
  96. *  Function:  ReportError(WORD)                                           *
  97. *                                                                         *
  98. *   Purpose:  To report an error that has occurred while allocating       *
  99. *             memory for the CD struct, locking the memory or while       *
  100. *             trying to load a resource string.                           *
  101. *                                                                         *
  102. *   Returns:  void                                                        *
  103. *                                                                         *
  104. *  Comments:                                                              *
  105. *                                                                         *
  106. *   History:  Date      Reason                                            *
  107. *             --------  -----------------------------------               *
  108. *                                                                         *
  109. *             10/01/91  Created                                           *
  110. *                                                                         *
  111. **************************************************************************/
  112. void FAR ReportError(WORD wErrorType)
  113. {
  114.    LPSTR lpszErrorMsg;
  115.  
  116.    switch( wErrorType )
  117.       {
  118.          case IDC_ALLOCFAIL:
  119.  
  120.             lpszErrorMsg=gszAllocErrorMsg;
  121.             break;
  122.  
  123.          case IDC_LOCKFAIL:
  124.  
  125.             lpszErrorMsg=gszLockErrorMsg;
  126.             break;
  127.  
  128.          case IDC_LOADSTRINGFAIL:
  129.  
  130.             lpszErrorMsg=gszLoadStrFail;
  131.             break;
  132.  
  133.          default:    //let's hope we never get here!
  134.             return;
  135.       }
  136.  
  137.    MessageBox(ghWnd, (LPSTR)lpszErrorMsg, gszAppName, MB_OK);
  138.  
  139.    return;
  140. }
  141.