/*++ Copyright (c) 1998-2000 Microsoft Corporation Module Name: trace.h Abstract: This module contains definitions of the trace functions Author: Michael Tsang (MikeTs) 24-Sep-1998 Environment: Kernel mode Revision History: --*/ #ifndef _TRACE_H #define _TRACE_H // // Constants // #define TF_CHECKING_TRACE 0x00000001 // // Macros // #ifdef TRACING #ifndef PROCNAME #define PROCNAME(s) static PSZ ProcName = s; #endif #define ENTER(n,p) { \ if (IsTraceOn(n, ProcName)) \ { \ gdwfTrace |= TF_CHECKING_TRACE; \ DbgPrint p; \ gdwfTrace &= ~TF_CHECKING_TRACE; \ } \ ++giTraceIndent; \ } #define EXIT(n,p) { \ --giTraceIndent; \ if (IsTraceOn(n, ProcName)) \ { \ gdwfTrace |= TF_CHECKING_TRACE; \ DbgPrint p; \ gdwfTrace &= ~TF_CHECKING_TRACE; \ } \ } #else #define PROCNAME(s) #define ENTER(n,p) #define EXIT(n,p) #endif // // Exported function prototypes // #ifdef TRACING // // Exported data // extern int giTraceIndent; extern ULONG gdwfTrace; BOOLEAN IsTraceOn( IN UCHAR n, IN PSZ ProcName ); #endif #endif //ifndef _TRACE_H