home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / C++-7 / DISK8 / MFC / SAMPLES / TESTCLNT / ERROR.CP$ / error
Encoding:
Text File  |  1992-03-07  |  4.1 KB  |  128 lines

  1. // error.cpp -- This file contains definitions and code which return
  2. //      error values from OLE.
  3. //
  4. // This is a part of the Microsoft Foundation Classes C++ library.
  5. // Copyright (C) 1992 Microsoft Corporation
  6. // All rights reserved.
  7. //
  8. // This source code is only intended as a supplement to the
  9. // Microsoft Foundation Classes Reference and Microsoft
  10. // QuickHelp documentation provided with the library.
  11. // See these sources for detailed information regarding the
  12. // Microsoft Foundation Classes product.
  13.  
  14. #include "testclnt.h"
  15. #include "resource.h"
  16. #include "defs.h"
  17.  
  18. extern CStdioFile *pOleDump;
  19. static char szBuffer[80];
  20.  
  21. struct oleStrings
  22. {
  23.     short nError;
  24.     char* szError;
  25. };
  26.  
  27. static oleStrings oleErrors[] =
  28. {
  29.     {  0, "OLE_OK" },                     
  30.     {  1, "OLE_WAIT_FOR_RELEASE" },
  31.     {  2, "OLE_BUSY" },          
  32.     {  3, "OLE_ERROR_PROTECT_ONLY" },     
  33.     {  4, "OLE_ERROR_MEMORY" },           
  34.     {  5, "OLE_ERROR_STREAM" },           
  35.     {  6, "OLE_ERROR_STATIC" },           
  36.     {  7, "OLE_ERROR_BLANK" },            
  37.     {  8, "OLE_ERROR_DRAW" },             
  38.     {  9, "OLE_ERROR_METAFILE" },         
  39.     { 10, "OLE_ERROR_ABORT" },            
  40.     { 11, "OLE_ERROR_CLIPBOARD" },        
  41.     { 12, "OLE_ERROR_FORMAT" },           
  42.     { 13, "OLE_ERROR_OBJECT" },           
  43.     { 14, "OLE_ERROR_OPTION" }, 
  44.     { 15, "OLE_ERROR_PROTOCOL" },         
  45.     { 16, "OLE_ERROR_ADDRESS" },          
  46.     { 17, "OLE_ERROR_NOT_EQUAL" },        
  47.     { 18, "OLE_ERROR_HANDLE" },           
  48.     { 19, "OLE_ERROR_GENERIC" },          
  49.     { 20, "OLE_ERROR_CLASS" },            
  50.     { 21, "OLE_ERROR_SYNTAX" },           
  51.     { 22, "OLE_ERROR_DATATYPE" },         
  52.     { 23, "OLE_ERROR_PALETTE" },          
  53.     { 24, "OLE_ERROR_NOT_LINK" },         
  54.     { 25, "OLE_ERROR_NOT_EMPTY" },        
  55.     { 26, "OLE_ERROR_SIZE" },             
  56.     { 27, "OLE_ERROR_DRIVE" },            
  57.     { 28, "OLE_ERROR_NETWORK" },          
  58.     { 29, "OLE_ERROR_NAME" },             
  59.     { 30, "OLE_ERROR_TEMPLATE" },         
  60.     { 31, "OLE_ERROR_NEW" },              
  61.     { 32, "OLE_ERROR_EDIT" },             
  62.     { 33, "OLE_ERROR_OPEN" },             
  63.     { 34, "OLE_ERROR_NOT_OPEN" },         
  64.     { 35, "OLE_ERROR_LAUNCH" },           
  65.     { 36, "OLE_ERROR_COMM" },             
  66.     { 37, "OLE_ERROR_TERMINATE" },        
  67.     { 38, "OLE_ERROR_COMMAND" },          
  68.     { 39, "OLE_ERROR_SHOW" },             
  69.     { 40, "OLE_ERROR_DOVERB" },           
  70.     { 41, "OLE_ERROR_ADVISE_NATIVE" },    
  71.     { 42, "OLE_ERROR_ADVISE_PICT" },      
  72.     { 43, "OLE_ERROR_ADVISE_RENAME" },    
  73.     { 44, "OLE_ERROR_POKE_NATIVE" },      
  74.     { 45, "OLE_ERROR_REQUEST_NATIVE" },   
  75.     { 46, "OLE_ERROR_REQUEST_PICT" },     
  76.     { 47, "OLE_ERROR_SERVER_BLOCKED" },   
  77.     { 48, "OLE_ERROR_REGISTRATION" },     
  78.     { 49, "OLE_ERROR_ALREADY_REGISTERED" },
  79.     { 50, "OLE_ERROR_TASK" },             
  80.     { 51, "OLE_ERROR_OUTOFDATE" },        
  81.     { 52, "OLE_ERROR_CANT_UPDATE_CLIENT" },
  82.     { 53, "OLE_ERROR_UPDATE" },           
  83.     { 1000, "OLE_WARN_DELETE_DATA" }
  84. };
  85.                                 
  86.  
  87.  
  88. static oleStrings oleMethods[] =
  89. {
  90.     {  1, "OLE_NONE" },      
  91.     {  2, "OLE_DELETE" },             
  92.     {  3, "OLE_LNKPASTE" },           
  93.     {  4, "OLE_EMBPASTE" },           
  94.     {  5, "OLE_SHOW" },               
  95.     {  6, "OLE_RUN" },                
  96.     {  7, "OLE_ACTIVATE" },           
  97.     {  8, "OLE_UPDATE" },             
  98.     {  9, "OLE_CLOSE" },              
  99.     { 10, "OLE_RECONNECT" },          
  100.     { 11, "OLE_SETUPDATEOPTIONS" },   
  101.     { 12, "OLE_SERVERUNLAUNCH" },     
  102.     { 13, "OLE_LOADFROMSTREAM" },     
  103.     { 14, "OLE_SETDATA" },            
  104.     { 15, "OLE_REQUESTDATA" },        
  105.     { 16, "OLE_OTHER" },              
  106.     { 17, "OLE_CREATE" },             
  107.     { 18, "OLE_CREATEFROMTEMPLATE" }, 
  108.     { 19, "OLE_CREATELINKFROMFILE" }, 
  109.     { 20, "OLE_COPYFROMLNK" },        
  110.     { 21, "OLE_CREATEFROMFILE" },     
  111. };
  112.  
  113.  
  114.  
  115. void CTestClient::LogError (char* pszFileName, int nStatus)
  116. {
  117.     ASSERT(pOleDump != NULL);
  118.  
  119.     wsprintf(szBuffer, "An %s Exception has been Thrown\n", 
  120.         (LPCSTR)oleErrors[nStatus].szError);
  121.     pOleDump->WriteString(szBuffer);
  122.             
  123.     wsprintf(szBuffer, "In %s \t while performing an: %s\n",
  124.         (LPCSTR)pszFileName, 
  125.         (LPCSTR)oleMethods[::OleQueryReleaseMethod(m_pClient->m_lpObject)].szError);
  126.     pOleDump->WriteString(szBuffer);
  127. }
  128.