/* ---------------------------------------------------------------------- Copyright (c) 1996, Microsoft Corporation All rights reserved siDebug.c ---------------------------------------------------------------------- */ #include "precomp.h" #ifdef DEBUG /* These functions are only available for DEBUG */ HDBGZONE ghZoneApi = NULL; // API zones static PTCHAR _rgZonesApi[] = { TEXT("API"), TEXT("Warning"), TEXT("Events"), TEXT("Trace"), TEXT("Data"), TEXT("Objects"), TEXT("RefCount"), }; VOID InitDebug(void) { // Enable memory leak checking and keep freed memory blocks on the // heap's linked list (filled with 0xDD) // // This depends on the use of the debug c runtime library from VC++ 4.x #if 0 int tmpFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG); tmpFlag |= (_CRTDBG_DELAY_FREE_MEM_DF | _CRTDBG_LEAK_CHECK_DF); _CrtSetDbgFlag(tmpFlag); _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); // create a message box // To track down memory leaks, uncomment the following lines LONG cAlloc = 0; // Allocation number if (0 != cAlloc) { _CrtSetBreakAlloc(cAlloc); } #endif // 0 InitDebugModule(TEXT("MSCONF")); DBGINIT(&ghZoneApi, _rgZonesApi); } VOID DeInitDebug(void) { DBGDEINIT(&ghZoneApi); ExitDebugModule(); } UINT DbgApiWarn(PCSTR pszFormat,...) { va_list v1; va_start(v1, pszFormat); DbgPrintf("API:Warning", pszFormat, v1); va_end(v1); return 0; } UINT DbgApiEvent(PCSTR pszFormat,...) { va_list v1; va_start(v1, pszFormat); DbgPrintf("API:Event", pszFormat, v1); va_end(v1); return 0; } UINT DbgApiTrace(PCSTR pszFormat,...) { va_list v1; va_start(v1, pszFormat); DbgPrintf("API:Trace", pszFormat, v1); va_end(v1); return 0; } UINT DbgApiData(PCSTR pszFormat,...) { va_list v1; va_start(v1, pszFormat); DbgPrintf("API:Data", pszFormat, v1); va_end(v1); return 0; } #endif /* DEBUG - the whole file */