/* define the various flags for debugging */ 0x15030007




Literal definition, flag name Applies to: Debug flag description, Comments from C source code Selection (1 or 0)
Enable bit position Recommendations for general purpose debug logging








#define DBGF_BREAK Driver+Dll /*! debugging flag: generate breakpoints */
0x80000000 Must not be used without a kernel debugger (WinDBG or SoftICE) running in the background, BSODs are generated otherwise




#define DBGF_ENTER Driver+Dll /*! debugging flag: show entering of functions */
0x40000000 Not recommended for all-purpose debug logging due to too much output (Driver and Dll for e.g. parallel transfers)




#define DBGF_LEAVE Driver+Dll /*! debugging flag: show leaving of functions without return value */
0x20000000 Doesn't work for DLL and driver, breaks communication (don't use for testing real communications)




#define DBGF_LEAVE_FAILURE Driver+Dll /*! debugging flag: show leaving of functions with return value NTSTATUS, if it is not STATUS_SUCCESS */
0x10000000 Does work only, if DBGF_ENTER is not enabled, recommended for all-purpose debug logging (calling history) 1




#define DBGF_PARAM Driver+Dll /*! debugging flag: show parameters of entered functions */
0x08000000 Not recommended for all-purpose debug logging due to too much output (mostly driver related)












#define DBGF_IEC Driver only /*! debugging flag: show IEC protocol related output */ 1
0x04000000 Recommended for protocol related problems, not recommended for IEC reliability tests




#define DBGF_IRQ Driver only /*! debugging flag: show IRQ related output */
0x02000000 Not recommended for all-purpose debug logging




#define DBGF_ASSERTIRQL Driver only /*! debugging flag: show ASSERTs for IRQL */
0x01000000 Always recommended to be enabled 1




#define DBGF_PORT Driver only /*! debugging flag: show port accesses (values written to or read from the parallel port registers) */
0x00800000 Should be disabled due to debug output overload




#define DBGF_THREAD Driver only /*! debugging flag: show thread related debugging output */
0x00400000 Not recommended, do use for special problems only that depend on the DPC behaviour




#define DBGF_IRPPATH Driver only /*! debugging flag: show IRP path */
0x00200000 Currently unneccessary since this code part seems to be stable




#define DBGF_IRP Driver only /*! debugging flag: show IRP */
0x00100000 Currently unneccessary since this code part seems to be stable




#define DBGF_DPC Driver only /*! debugging flag: show DPC related output (signal generation for cbmiec_wait_for_listener) */
0x00080000 Not recommended, do use for special problems only that depend on the DPC behaviour












#define DBGF_DBGMEMBUFF Driver only /*! debugging flag: output debugging info debug into Memory Buffer */
0x00020000 Always recommended for all-purpose debug logging 1




#define DBGF_DBGPRINT Driver only /*! debugging flag: output debugging info via DbgPrint */
0x00010000 Recommended for smaller logging outputs and on-demand log viewing (DebugView) 1












#define DBGF_PPORT Driver+Dll /*! debugging flag: show parallel port related output (querying parport.sys) */
0x00000010 Only needed for parallel port related problems like initialization, not recommended for all-purpose debug logging




#define DBGF_SUCCESS Driver+Dll /*! debugging flag: show SUCCESS messages */
0x00000008 May produce too much logging output, but recommended for all-purpose debug logging




#define DBGF_WARNING Driver+Dll /*! debugging flag: show WARNINGS */
0x00000004 Recommended for all-purpose debug logging 1




#define DBGF_ERROR Driver+Dll /*! debugging flag: show ERRORS */
0x00000002 Always recommended for all-purpose debug logging 1




#define DBGF_ASSERT Driver+Dll /*! debugging flag: show ASSERTs (without creating a breakpoint, if DBGF_BREAK is not set) */
0x00000001 Always recommended to be enabled 1