////////////////////////////////////////////////////////////////// // File : dbg.h // Purpose : MACRO definition for showing debug message // // // Copyright(c) 1991-1997, Microsoft Corp. All rights reserved // ////////////////////////////////////////////////////////////////// #ifndef _DBG_H_ #define _DBG_H_ //------------------------------------------------------- //dbgmgr.h is ../common/dbgmgr.h IME98's common debuging api header. //In IMEPAD, only for MemAlloc(), MemFree() function. //because, we had to send allocate data to ImeIPoint and Freed in //it. //------------------------------------------------------- //------------------------------------------------------- //MACRO function(?) prototype declare //------------------------------------------------------- //////////////////////////////////////////////////////// // Function : DBG // Type : VOID // Purpose : Printing ANSI debug message with same usage as printf() // : // Args : // : LPSTR lpstrFuncName // : ... // CAUTION : Must use DOUBLE Blaket to remove in Release version!!! ///////////////////////////////////////////////////////// //VOID DBG((LPSTR lpstrFuncName, ...)); //////////////////////////////////////////////////////// // Function: DBGW // Type : VOID // Purpose : Printing Unicode debug message with same usage as printf() // Args : // : LPWSTR lpstrFuncName // : ... // CAUTION: Please use DOUBLE Blaket!!! ///////////////////////////////////////////////////////// //VOID DBGW((LPWSTR lpstrFuncName, ...)); //////////////////////////////////////////////////////// // Function : DBGMB // Type : VOID // Purpose : Show Messagebox for ANSI debug message // : Same usage as printf() // Args : // : LPSTR lpstrFuncName // : ... // CAUTION : Must use DOUBLE Blaket to remove in Release version!!! ///////////////////////////////////////////////////////// //VOID DBGMB((LPSTR lpstrFuncName, ...)); //////////////////////////////////////////////////////// // Function : DBGShowWindow // Type : VOID // Purpose : Invoke debug message window. // : DBG(), DBGW()'s message is shown here. // Args : HINSTANCE hInst // : HWND hwndOwner ///////////////////////////////////////////////////////// //VOID DBGShowWindow(HINSTANCE hInst, HWND hwndOwner); #ifdef _DEBUG extern VOID _exbtnInit(VOID); #ifndef UNICODE_ONLY extern VOID _exbtnA (LPSTR lpstrFile, INT lineNo, LPSTR lpstrMsg); extern VOID _exbtnPrintA (LPSTR lpstrMsg, ...); extern LPSTR _exbtnVaStrA (LPSTR lpstrFmt, ...); extern LPWSTR _exbtnMulti2Wide(LPSTR lpstr); extern VOID _exbtnMBA(LPSTR lpstrFile, INT lineNo, LPSTR lpstrMsg); extern VOID _exbtnMBW(LPWSTR lpstrFile, INT lineNo, LPWSTR lpstrMsg); #endif #ifndef ANSI_ONLY extern VOID _exbtnW(LPWSTR lpstrFile, INT lineNo, LPWSTR lpstrMsg); extern VOID _exbtnPrintW(LPWSTR lpstrMsg, ...); extern LPWSTR _exbtnVaStrW(LPWSTR lpstrFmt, ...); #endif #endif #if defined(_DEBUG) || (defined(_NDEBUG) && defined(_RELDEBUG)) # define DBG_INIT() _exbtnInit() # define DBGW(a) _exbtnW( _exbtnMulti2Wide(__FILE__), __LINE__, _exbtnVaStrW a) # define DBGA(a) _exbtnA(__FILE__, __LINE__, _exbtnVaStrA a) # define Dbg(a) _exbtnA(__FILE__, __LINE__, _exbtnVaStrA a) # define DBGMB(a) _exbtnMBA(__FILE__, __LINE__, _exbtnVaStrA a) # define DBGMBA(a) _exbtnMBA(__FILE__, __LINE__, _exbtnVaStrA a) # define DBGMBW(a) _exbtnMBW(_exbtnMulti2Wide(__FILE__), __LINE__, _exbtnVaStrW a) #else //!_DEBUG //in Release version, these are disapear... # define DBG_INIT() # define DBGW(a) # define DBGA(a) # define Dbg(a) # define DBGMB(a) # define DBGMBA(a) # define DBGMBW(a) #endif //_DEBUG #endif //_DBG_H_