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.
 
 
 
 
 
 

101 lines
2.3 KiB

//*************************************************************
//
// 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_