DEBUG.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  2. //ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  3. //THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  4. // PARTICULAR PURPOSE.
  5. //
  6. // Copyright  1994-1997  Microsoft Corporation.  All Rights Reserved.
  7. //
  8. //  FILE:
  9. //    DEBUG.H
  10. //
  11. //  PURPOSE:
  12. //    Include file for DEBUG.C
  13. //
  14. //  PLATFORMS:
  15. //    Windows 95, Windows NT
  16. //
  17. //  SPECIAL INSTRUCTIONS: N/A
  18. //
  19. #ifndef _ICM_H_
  20.     #include "icm.h"
  21. #endif
  22. #ifdef DBG
  23.     #define _DEBUG
  24. #endif
  25. // General pre-processor macros
  26. // Constants used by ICM_Debug functions
  27. #define MAX_DEBUG_STRING    256
  28. // Constants used to set unitialized values
  29. #define UNINIT_BYTE     0x17
  30. #define UNINIT_DWORD    0x17171717
  31. // ASSERT macro to display problem information in DEBUG build
  32. #ifdef _DEBUG
  33.     #define ASSERT(exp)               
  34.     if(exp)                           
  35.     {                                 
  36.       NULL;                           
  37.     }                                 
  38.     else                              
  39.     {                                 
  40.       _Assert(__FILE__, __LINE__);    
  41.     }
  42. #else
  43.     #define ASSERT(exp)   NULL
  44. #endif
  45. #ifdef DEBUG_MEMORY
  46.     #ifndef I_AM_DEBUG
  47.         #define GlobalFree(hMem)   SafeFree(__FILE__, __LINE__, hMem)
  48.         #define GlobalUnlock(hMem) SafeUnlock(__FILE__, __LINE__, hMem)
  49.         #define GlobalLock(hMem)   SafeLock(__FILE__, __LINE__, hMem)
  50.     #endif
  51. #endif
  52. // Used by FormatLastError to determine if string should be allocated
  53. // and returned or just displayed and freed.
  54. #define LASTERROR_ALLOC      1
  55. #define LASTERROR_NOALLOC    2
  56. #define DISPLAY_LASTERROR(ui,dw) FormatLastError(__FILE__, __LINE__, ui, dw)
  57. // General STRUCTS && TYPEDEFS
  58. // Function prototypes
  59. void    _Assert(LPSTR lpszFile, UINT uLine);
  60. void    DebugMsg (LPTSTR sz,...);
  61. void    DebugMsgA (LPSTR lpszMessage,...);
  62. int     ErrMsg (HWND hwndOwner, LPTSTR sz,...);
  63. void    DumpMemory(LPBYTE lpbMem, UINT uiElementSize, UINT uiNumElements);
  64. void    DumpRectangle(LPTSTR lpszDesc, LPRECT lpRect);
  65. void    DumpProfile(PPROFILE pProfile);
  66. void    DumpBmpHeader(LPVOID lpvBmpHeader);
  67. void    DumpBITMAPFILEHEADER(LPBITMAPFILEHEADER lpBmpFileHeader);
  68. void    DumpLogColorSpace(LPLOGCOLORSPACE pColorSpace);
  69. void    DumpCOLORMATCHSETUP(LPCOLORMATCHSETUP lpCM);
  70. HGLOBAL SafeFree(LPTSTR lpszFile, UINT uLine, HGLOBAL hMemory);
  71. BOOL    SafeUnlock(LPTSTR lpszFile, UINT uLine, HGLOBAL hMemory);
  72. LPVOID  SafeLock(LPTSTR lpszFile, UINT uiLine, HGLOBAL hMemory);
  73. LPSTR   FormatLastError(LPSTR lpszFile, UINT uiLine, UINT uiOutput, DWORD dwLastError);