Source code of Windows XP (NT5)
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.
|
|
//*************************************************************
//
// Microsoft Confidential. Copyright (c) Microsoft Corporation 1999. All rights reserved
//
// File: RsopDbg.h
//
// Description: Debugging functions
//
// History: 8-20-99 leonardm Created
//
//*************************************************************
#ifndef DEBUG_H__D91F1DC7_B995_403d_9166_9D43DB050017__INCLUDED_
#define DEBUG_H__D91F1DC7_B995_403d_9166_9D43DB050017__INCLUDED_
#include "rsoputil.h"
#include "smartptr.h"
//
// Debug Levels
//
const DWORD DEBUG_LEVEL_NONE = 0x00000000; const DWORD DEBUG_LEVEL_WARNING = 0x00000001; const DWORD DEBUG_LEVEL_VERBOSE = 0x00000002;
//
// Debug message output destination
//
const DWORD DEBUG_DESTINATION_LOGFILE = 0x00010000; const DWORD DEBUG_DESTINATION_DEBUGGER = 0x00020000;
//
// Debug message types
//
const DWORD DEBUG_MESSAGE_ASSERT = 0x00000001; const DWORD DEBUG_MESSAGE_WARNING = 0x00000002; const DWORD DEBUG_MESSAGE_VERBOSE = 0x00000004;
//*************************************************************
//
// Class:
//
// Description:
//
//*************************************************************
class CDebug { private: CWString _sRegPath; CWString _sKeyName;
CWString _sLogFilename; CWString _sBackupLogFilename;
bool _bInitialized;
DWORD _dwDebugLevel;
XCritSec xCritSec; void CleanupAndCheckForDbgBreak(DWORD dwErrorCode, DWORD dwMask);
public: CDebug(); CDebug( const WCHAR* sRegPath, const WCHAR* sKeyName, const WCHAR* sLogFilename, const WCHAR* sBackupLogFilename, bool bResetLogFile = false);
bool Initialize(const WCHAR* sRegPath, const WCHAR* sKeyName, const WCHAR* sLogFilename, const WCHAR* sBackupLogFilename, bool bResetLogFile = false);
bool Initialize(bool bResetLogFile = false);
void Msg(DWORD dwMask, LPCTSTR pszMsg, ...); };
extern CDebug dbgRsop; extern CDebug dbgCommon; extern CDebug dbgAccessCheck;
// default to dbgRsop..
// The common routines need to define it to dbgCommon or #define dbg to dbgCommon and then
// use..
#define dbg dbgRsop
#endif // DEBUG_H__D91F1DC7_B995_403d_9166_9D43DB050017__INCLUDED_
|