#define INIT_TRACE_TIME() \
LARGE_INTEGER OrgTime,CurTime; \
KSPIN_LOCK SpinLock; \
KIRQL TraceTimeIrql; \
KeAcquireSpinLock( &SpinLock , &TraceTimeIrql); \
KeQuerySystemTime( &OrgTime ); \
KeReleaseSpinLock( &SpinLock, TraceTimeIrql);
#define PRINT_USED_TIME() \
KeAcquireSpinLock( &SpinLock , &TraceTimeIrql); \
KeQuerySystemTime( &CurTime ); \
KeReleaseSpinLock( &SpinLock, TraceTimeIrql); \
if(0 != CurTime.LowPart-OrgTime.LowPart) KdPrint(("File:%s Line:%d Used Time:%d\n",__FILE__,__LINE__,CurTime.LowPart-OrgTime.LowPart));\
OrgTime = CurTime;
LARGE_INTEGER OrgTime,CurTime; \
KSPIN_LOCK SpinLock; \
KIRQL TraceTimeIrql; \
KeAcquireSpinLock( &SpinLock , &TraceTimeIrql); \
KeQuerySystemTime( &OrgTime ); \
KeReleaseSpinLock( &SpinLock, TraceTimeIrql);
#define PRINT_USED_TIME() \
KeAcquireSpinLock( &SpinLock , &TraceTimeIrql); \
KeQuerySystemTime( &CurTime ); \
KeReleaseSpinLock( &SpinLock, TraceTimeIrql); \
if(0 != CurTime.LowPart-OrgTime.LowPart) KdPrint(("File:%s Line:%d Used Time:%d\n",__FILE__,__LINE__,CurTime.LowPart-OrgTime.LowPart));\
OrgTime = CurTime;