00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
#ifndef _KTRACE_H_
00030 
#define _KTRACE_H_
00031 
00032 
00033 
00034 
00035 
00036 #define MESSAGE_INFORMATION 0x1
00037 #define MESSAGE_WARNING     0x2
00038 #define MESSAGE_ERROR       0x4
00039 
00040 
00041 
00042 
00043 
00044 #define MODULE_INIT  0x1
00045 #define MODULE_KE    0x2
00046 #define MODULE_EX    0x4
00047 #define MODULE_MM    0x8
00048 #define MODULE_LPC   0x10
00049 #define MODULE_SE    0x20
00050 #define MODULE_TDI   0x40
00051 #define MODULE_RTL   0x80
00052 #define MODULE_PO    0x100
00053 #define MODULE_PNP   0x200
00054 
00055 #define DRIVER_1    0x10000000
00056 #define DRIVER_2    0x20000000
00057 #define DRIVER_3    0x40000000
00058 #define DRIVER_4    0x80000000
00059 
00060 
00061 
00062 
00063 
00064 
00065 
00066 
00067 
00068 
#if DBG
00069 
NTSTATUS
00070 
KeAddKTrace (
00071     ULONG  ModuleID,
00072     USHORT MessageType,
00073     USHORT MessageIndex,
00074     ULONGLONG Arg1,
00075     ULONGLONG Arg2,
00076     ULONGLONG Arg3,
00077     ULONGLONG Arg4
00078     );
00079 
#else
00080 #define KeAddKTrace
00081 
#endif
00082 
00083 
00084 
00085 
00086 
00087 
#if DBG
00088 
ULONG
00089 __stdcall
00090 
KeDumpKTrace (
00091     ULONG ProcessorNumber,
00092     ULONG StartEntry,
00093     ULONG NumberOfEntries,
00094     ULONGLONG ModuleFilter,
00095     ULONGLONG MessageFilter,
00096     BOOLEAN Sort);
00097 
#else
00098 #define KeDumpKTrace
00099 
#endif
00100 
00101 
00102 
00103 
00104 
#if DBG
00105 
VOID
00106 __stdcall
00107 
KeEnableKTrace (
00108         ULONG IDMask
00109     );
00110 
#else
00111 #define KeEnableKTrace
00112 
#endif
00113 
00114 
#if DBG
00115 
VOID
00116 NTAPI 
00117 
DumpRecord (IN ULONG ProcessorNumber,
00118             IN ULONG Index);
00119 
#else
00120 #define DumpRecord
00121 
#endif
00122 
00123 
#endif // _KTRACE_H_
00124