LOCAL.H
上传用户:yuandong
上传日期:2022-08-08
资源大小:954k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

C++ Builder

  1. /*++
  2. Copyright (c) 1996  Microsoft Corporation
  3. All rights reserved
  4. Module Name:
  5.     local.h
  6. Abstract:
  7.     DDK version of local.h
  8. Environment:
  9.     User Mode -Win32
  10. Revision History:
  11. --*/
  12. LPWSTR AllocSplStr(LPWSTR pStr);
  13. LPVOID AllocSplMem(DWORD cbAlloc);
  14. LPVOID ReallocSplMem(   LPVOID pOldMem, 
  15.                         DWORD cbOld, 
  16.                         DWORD cbNew);
  17. #define FreeSplMem( pMem )        (GlobalFree( pMem ) ? FALSE:TRUE)
  18. #define FreeSplStr( lpStr )       ((lpStr) ? (GlobalFree(lpStr) ? FALSE:TRUE):TRUE)
  19. /* DEBUGGING:
  20.  */
  21. #define DBG_NONE      0x0000
  22. #define DBG_INFO      0x0001
  23. #define DBG_WARN      0x0002
  24. #define DBG_WARNING   0x0002
  25. #define DBG_ERROR     0x0004
  26. #define DBG_TRACE     0x0008
  27. #define DBG_SECURITY  0x0010
  28. #define DBG_EXEC      0x0020
  29. #define DBG_PORT      0x0040
  30. #define DBG_NOTIFY    0x0080
  31. #define DBG_PAUSE     0x0100
  32. #define DBG_ASSERT    0x0200
  33. #define DBG_THREADM   0x0400
  34. #define DBG_MIN       0x0800
  35. #define DBG_TIME      0x1000
  36. #define DBG_FOLDER    0x2000
  37. #define DBG_NOHEAD    0x8000
  38. #if DBG
  39. ULONG
  40. DbgPrint(
  41.     PCH Format,
  42.     ...
  43.     );
  44. VOID
  45. DbgBreakPoint(
  46.     VOID
  47.     );
  48. #define GLOBAL_DEBUG_FLAGS  WinprintDebug
  49. extern DWORD GLOBAL_DEBUG_FLAGS;
  50. /* These flags are not used as arguments to the DBGMSG macro.
  51.  * You have to set the high word of the global variable to cause it to break.
  52.  * It is ignored if used with DBGMSG.
  53.  * (Here mainly for explanatory purposes.)
  54.  */
  55. #define DBG_BREAK_ON_WARNING    ( DBG_WARNING << 16 )
  56. #define DBG_BREAK_ON_ERROR      ( DBG_ERROR << 16 )
  57. /* Double braces are needed for this one, e.g.:
  58.  *
  59.  *     DBGMSG( DBG_ERROR, ( "Error code %d", Error ) );
  60.  *
  61.  * This is because we can't use variable parameter lists in macros.
  62.  * The statement gets pre-processed to a semi-colon in non-debug mode.
  63.  *
  64.  * Set the global variable GLOBAL_DEBUG_FLAGS via the debugger.
  65.  * Setting the flag in the low word causes that level to be printed;
  66.  * setting the high word causes a break into the debugger.
  67.  * E.g. setting it to 0x00040006 will print out all warning and error
  68.  * messages, and break on errors.
  69.  */
  70. #define DBGMSG( Level, MsgAndArgs ) 
  71. {                                   
  72.     if( ( Level & 0xFFFF ) & GLOBAL_DEBUG_FLAGS ) 
  73.         DbgPrint MsgAndArgs;      
  74.     if( ( Level << 16 ) & GLOBAL_DEBUG_FLAGS ) 
  75.         DbgBreakPoint(); 
  76. }
  77. #else
  78. #define DBGMSG
  79. #endif