WindowsXP-SP1/termsrv/remdsk/rds/h/mlzdbg.h
2020-09-30 16:53:49 +02:00

82 lines
2.2 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _Multi_Level_Zone_Debug_H_
#define _Multi_Level_Zone_Debug_H_
#include <confdbg.h>
#include <debspew.h>
#define ZONE_FLAG(z) (1 << (z))
#if defined(_DEBUG) && defined(MULTI_LEVEL_ZONES)
#define DEFAULT_ZONES "Warning", "Trace", "Function",
#define BASE_ZONE_INDEX (ZONE_FUNCTION + 1)
#undef TRACE_OUT
#define TRACE_OUT(s) MLZ_TraceZoneEnabled(MLZ_FILE_ZONE) ? (MLZ_TraceOut s) : 0
#undef WARNING_OUT
#define WARNING_OUT(s) MLZ_WarningOut s
#undef DebugEntry
#define DebugEntry(fn) MLZ_EntryOut(MLZ_FILE_ZONE, #fn)
#undef DebugExitVOID
#define DebugExitVOID(fn) MLZ_ExitOut(MLZ_FILE_ZONE, #fn, RCTYPE_VOID, (DWORD) 0)
#undef DebugExitBOOL
#define DebugExitBOOL(fn,f) MLZ_ExitOut(MLZ_FILE_ZONE, #fn, RCTYPE_BOOL, (DWORD) f)
#undef DebugExitDWORD
#define DebugExitDWORD(fn,dw) MLZ_ExitOut(MLZ_FILE_ZONE, #fn, RCTYPE_DWORD, (DWORD) dw)
#undef DebugExitHRESULT
#define DebugExitHRESULT(fn,hr) MLZ_ExitOut(MLZ_FILE_ZONE, #fn, RCTYPE_HRESULT, (DWORD) hr)
#undef DebugExitINT
#define DebugExitINT(fn,n) MLZ_ExitOut(MLZ_FILE_ZONE, #fn, RCTYPE_INT, (DWORD) n)
#undef DebugExitULONG
#define DebugExitULONG(fn,ul) MLZ_ExitOut(MLZ_FILE_ZONE, #fn, RCTYPE_ULONG, (DWORD) ul)
#undef DebugExitPTR
#define DebugExitPTR(fn,lp) MLZ_ExitOut(MLZ_FILE_ZONE, #fn, RCTYPE_PTR, (DWORD_PTR) lp)
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
typedef enum
{
RCTYPE_VOID = 0,
RCTYPE_BOOL = 1,
RCTYPE_DWORD = 2,
RCTYPE_HRESULT = 3,
RCTYPE_INT = 4,
RCTYPE_ULONG = 5,
RCTYPE_PTR = 6
}
RCTYPE;
void WINAPI MLZ_DbgInit(PSTR *apszZones, UINT cZones);
void WINAPI MLZ_DbgDeInit(void);
void WINAPIV MLZ_WarningOut(PSTR pszFormat, ...);
BOOL WINAPI MLZ_TraceZoneEnabled(int iZone);
void WINAPIV MLZ_TraceOut(PSTR pszFormat, ...);
void WINAPI MLZ_EntryOut(int iZone, PSTR pszFunName);
void WINAPI MLZ_ExitOut(int iZone, PSTR pszFunName, RCTYPE eRetCodeType, DWORD_PTR dwRetCode);
#ifdef __cplusplus
}
#endif // __cplusplus
#else
#define DebugExitPTR(fn,lp)
#endif // _DEBUG && MULTI_ZONE_OUT
#endif // _Multi_Level_Zone_Debug_H_