Windows2000/private/shell/ext/diskcopy/debug.h
2020-09-30 17:12:32 +02:00

67 lines
1.8 KiB
C

#define NOSHELLDEBUG // don't take shell versions of this
// NOTE: You can #define your own DM_* values using bits in the HI BYTE
#define DM_TRACE 0x0001 // Trace messages
#define DM_WARNING 0x0002 // Warning
#define DM_ERROR 0x0004 // Error
#define DM_ASSERT 0x0008 // Assertions
// NOTE: Default debug mask is 0x00ff (show everything)
// Inside debugger, you can modify wDebugMask variable.
// Set debug mask; returning previous.
UINT WINAPI SetDebugMask(UINT mask);
// Get debug mask.
UINT WINAPI GetDebugMask();
// Use this macro to declare message text that will be placed
// in the CODE segment (useful if DS is getting full)
// Ex: DBGTEXT(szMsg, "Invalid whatever: %d");
#define DBGTEXT(sz, msg) static const TCHAR sz[] = msg;
#ifdef DEBUG
// Assert(f) -- Generate "assertion failed in line x of file.c"
// message if f is NOT true.
// AssertMsg(f, msg, args...) -- Generate wsprintf-formatted msg w/params
// if f is NOT true.
// DebugMsg(mask, msg, args...) -
// Generate wsprintf-formatted msg using
// specified debug mask. System debug mask
// governs whether message is output.
void WINAPI AssertFailed(LPCTSTR szFile, int line);
#define Assert(f) \
{ \
DBGTEXT(szFile, __FILE__); \
if (!(f)) \
AssertFailed(szFile, __LINE__); \
}
#define AssertE(f) Assert(f)
void __cdecl _AssertMsg(BOOL f, LPCTSTR pszMsg, ...);
#define AssertMsg _AssertMsg
void __cdecl _DebugMsg(UINT mask, LPCTSTR psz, ...);
#define DebugMsg _DebugMsg
#else
// retail versions to produce no code, no data
#define Assert(f)
#define AssertE(f) (f)
#define AssertMsg 1 ? (void)0 : (void)
#define DebugMsg 1 ? (void)0 : (void)
#endif