102 lines
2.3 KiB
C
102 lines
2.3 KiB
C
|
//*************************************************************
|
||
|
//
|
||
|
// 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_
|