Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// Copyright (c) 1996-1999 Microsoft Corporation
//+-------------------------------------------------------------------------
//
// File: debug.hxx
//
// Contents: Debug declarations.
//
// Classes:
//
// Functions:
//
// History: 18-Nov-96 BillMo Created.
//
// Notes:
//
// Codework:
//
//--------------------------------------------------------------------------
#if !DBG || defined(lint) || defined(_lint)
#define DBGSTATIC static // hidden function
#else
#define DBGSTATIC // visible for use in debugger.
#endif
#if DBG
VOID TrkDebugCreate( ULONG grfFlags, CHAR *ptszModuleName ); VOID TrkDebugDelete( VOID); #else
#define TrkDebugCreate( grf, ptsz )
#define TrkDebugDelete()
#endif
enum TRK_DBG_FLAGS { TRK_DBG_FLAGS_WRITE_TO_DBG = 1, TRK_DBG_FLAGS_WRITE_TO_FILE = 2, TRK_DBG_FLAGS_APPEND_TO_FILE = 4, TRK_DBG_FLAGS_WRITE_TO_STDOUT = 8 };
#if DBG == 1
extern CHAR TrkGlobalDebugBuffer[ 1024]; // arbitrary
extern DWORD TrkGlobalDebug;
////////////////////////////////////////////////////////////////////////
//
// Debug Definititions
//
////////////////////////////////////////////////////////////////////////
extern CRITICAL_SECTION g_ProtectLogFile; extern HANDLE g_LogFile; extern ULONG g_grfDebugFlags; extern CHAR g_DebugBuffer[];
//
// Control bits.
//
VOID TrkAssertFailed( IN PVOID FailedAssertion, IN PVOID FileName, IN ULONG LineNumber, IN PCHAR Message OPTIONAL );
#define TrkAssert( Predicate) \
{ \ if (!(Predicate)) \ TrkAssertFailed( #Predicate, __FILE__, __LINE__, NULL ); \ }
#define TrkVerify TrkAssert
VOID TrkLogErrorRoutine( IN DWORD DebugFlag, IN HRESULT hr, IN LPTSTR Format, // PRINTF()-STYLE FORMAT STRING.
... // OTHER ARGUMENTS ARE POSSIBLE.
); VOID TrkLogRoutine( IN DWORD DebugFlag, IN LPTSTR Format, // PRINTF()-STYLE FORMAT STRING.
... // OTHER ARGUMENTS ARE POSSIBLE.
); VOID TrkLogErrorRoutineInternal( IN DWORD DebugFlag, IN LPSTR pszHR, IN LPTSTR Format, IN va_list Arguments );
VOID TrkLogRuntimeList( IN PCHAR Comment); VOID TrkLogTimeout( IN DWORD timeout);
#define TrkLog( _x_) TrkLogRoutine _x_
#else // #if DBG == 1
#define TrkAssert(condition)
#define TrkVerify(condition) condition
#define TrkLog( _x_)
#define TrkLogRuntimeList( _x_)
#define TrkLogTimeout( _x_)
#endif // #if DBG == 1 ... #else
|