//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1997. // // File: D B G F L A G S . C P P // // Contents: DebugFlag list for the NetCfg Project // // Notes: // // Author: jeffspr 27 May 1997 // //---------------------------------------------------------------------------- #include #pragma hdrstop // None of this should get compiled in unless we're in the debug version // or we need to enable tracing code. // #if defined(DBG) || defined(ENABLETRACE) #include "ncdebug.h" #include "ncbase.h" // This is the DebugFlag list that everyone should be modifying. // DEBUGFLAGELEMENT g_DebugFlags[] = { // :----------- DebugFlagId dfid // | :--------- CHAR [] szShortName // | | :------- CHAR [] szDescription // | | | DWORD dwValue ------------------------------------------------------------: // | | | | // | | | | // | | :-------------------------------------------: | // | :----------------------: | | // | | | | // v v v v // { dfidBreakOnAlloc, "BreakOnAlloc", "Break on Specified Alloc", 0 }, { dfidBreakOnDoUnattend, "BreakOnDoUnattend", "Break during HrDoUnattend", 0 }, { dfidBreakOnError, "BreakOnError", "Break on TraceError", 0 }, { dfidBreakOnHr, "BreakOnHr", "Break when hr is specific value", 0 }, { dfidBreakOnHrIteration, "BreakOnHrInteration", "Break when hr is hit N times", 0 }, { dfidBreakOnIteration, "BreakOnIteration", "Break on Nth call to TraceError", 0 }, { dfidBreakOnNetInstall, "BreakOnNetInstall", "Break during HrNetClassInstaller", 0 }, { dfidBreakOnNotifySinkRelease, "BreakOnNotifySinkRelease", "Break when the NotifySink is released",0 }, { dfidBreakOnPrematureDllUnload,"BreakOnPrematureDllUnload","Break when DLL unloaded with open references", 0 }, { dfidBreakOnWizard, "BreakOnWizard", "Break on Wizard", 0 }, { dfidBreakOnStartOfUpgrade, "BreakOnStartOfUpgrade", "Break at the beginning of InstallUpgradeWorkThread", 0 }, { dfidBreakOnEndOfUpgrade, "BreakOnEndOfUpgrade", "Break after all calls to HrDoUnattend have been completed", 0 }, { dfidCheckLegacyMenusAtRuntime,"CheckLegacyMenusAtRuntime","Assert legacy menus during runtime", 0 }, { dfidCheckLegacyMenusOnStartup,"CheckLegacyMenusOnStartup","Assert all legacy menus on startup", 0 }, { dfidDisableShellThreading, "DisableShellThreading", "Disable shell thread pool usage", 0 }, { dfidDisableTray, "DisableTray", "Disable Tray", 0 }, { dfidDontCacheShellIcons, "DontCacheShellIcons", "Don't ever use shell icon caching", 0 }, { dfidExtremeTracing, "ExtremeTracing", "Output all traces, even on success", 0 }, { dfidNetShellBreakOnInit, "NetShellBreakOnInit", "Break on Initialization of NetShell", 0 }, { dfidNoErrorText, "NoErrorText", "Don't show wimpy error strings.", 0 }, { dfidShowIgnoredErrors, "ShowIgnoredErrors", "Displays errors that would otherwise be ignored", 0 }, { dfidShowProcessAndThreadIds, "ShowProcessAndThreadIds", "Displays process and thread id", 0 }, { dfidSkipLanEnum, "SkipLanEnum", "Skip LAN Enumeration", 0 }, { dfidTraceCallStackOnError, "TraceCallStackOnError", "Dump the call stack for all errors", 0 }, { dfidTraceFileFunc, "TraceFileFunc", "Trace Function names & params for every call", 0 }, { dfidTraceMultiLevel, "TraceMultiLevel", "Trace multiple levels", 0 }, { dfidTraceSource, "TraceSource", "Trace source information", 0 }, { dfidTracingTimeStamps, "TracingTimeStamps", "Add time stamps to tracing output", 0 }, { dfidTrackObjectLeaks, "TrackObjectLeaks", "Track object leaks", 0 } }; const INT g_nDebugFlagCount = celems(g_DebugFlags); //+--------------------------------------------------------------------------- // // Function: FIsDebugFlagSet // // Purpose: Return the state of a debug flag to the caller. // // Arguments: // dfid [] Debug Flag ID // // Returns: TRUE if set, FALSE otherwise. // // Author: jeffspr 28 May 1997 // // Notes: // BOOL FIsDebugFlagSet( DEBUGFLAGID dfid ) { return (g_DebugFlags[dfid].dwValue > 0); } DWORD DwReturnDebugFlagValue( DEBUGFLAGID dfid ) { return (g_DebugFlags[dfid].dwValue); } #endif //! DBG || ENABLETRACE