00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00027 #ifndef OW32_OWTrace_h
00028 #define OW32_OWTrace_h
00029
00030 #ifdef _DEBUG
00031
00032 #include <cstdarg>
00033 #include <cstdio>
00034 #include <tchar.h>
00035
00036 namespace OW32
00037 {
00038
00039 inline void OWTrace(LPCTSTR lpszFormat, ...)
00040 {
00041 va_list vap;
00042 TCHAR szTraceBuffer[8192];
00043
00044 va_start(vap, lpszFormat);
00045 _vsntprintf(szTraceBuffer, sizeof(szTraceBuffer)/sizeof(szTraceBuffer[0]), lpszFormat, vap);
00046 szTraceBuffer[sizeof(szTraceBuffer)/sizeof(szTraceBuffer[0]) - 1] = _T('\0');
00047 OutputDebugString(szTraceBuffer);
00048 va_end(vap);
00049 }
00050
00051 };
00052
00053 #else
00054
00055 namespace OW32
00056 {
00057
00058 inline void OWTrace(LPCTSTR, ...)
00059 {
00060 }
00061
00062 };
00063
00064 #endif
00065
00066 #define OWTRACE OW32::OWTrace
00067
00068 #endif // OW32_OWTrace_h