📄 flt_dbg.h
字号:
/*++
Copyright (c) 2001 Microsoft Corporation
Module Name:
debug.h
Abstract:
This module contains all debug related prototypes for MS FILTER
Revision History:
Notes:
--*/
#ifndef _FILTDEBUG__H
#define _FILTDEBUG__H
//
// Message verbosity: lower values indicate higher urgency
//
#define DL_EXTRA_LOUD 20
#define DL_VERY_LOUD 10
#define DL_LOUD 8
#define DL_INFO 6
#define DL_TRACE 5
#define DL_WARN 4
#define DL_ERROR 2
#define DL_FATAL 0
#if DBG_SPIN_LOCK
typedef struct _FILTER_LOCK
{
ULONG Signature;
ULONG IsAcquired;
ULONG TouchedByFileNumber;
ULONG TouchedInLineNumber;
NDIS_SPIN_LOCK NdisLock;
} FILTER_LOCK, *PFILTER_LOCK;
#define FILT_LOCK_SIG 'kcoL'
extern NDIS_SPIN_LOCK filterDbgLogLock;
extern
VOID
filterAllocateSpinLock(
IN PFILTER_LOCK pLock,
IN ULONG FileNumber,
IN ULONG LineNumber
);
extern
VOID
filterFreeSpinLock(
IN PFILTER_LOCK pLock
);
extern
VOID
filterAcquireSpinLock(
IN PFILTER_LOCK pLock,
IN ULONG FileNumber,
IN ULONG LineNumber,
IN BOOLEAN DispatchLevel
);
extern
VOID
filterReleaseSpinLock(
IN PFILTER_LOCK pLock,
IN ULONG FileNumber,
IN ULONG LineNumber,
IN BOOLEAN DispatchLevel
);
#else
typedef NDIS_SPIN_LOCK FILTER_LOCK;
typedef PNDIS_SPIN_LOCK PFILTER_LOCK;
#endif // DBG_SPIN_LOCK
#if DBG
extern INT filterDebugLevel;
#define DEBUGP(lev, stmt) \
{ \
if ((lev) <= filterDebugLevel) \
{ \
DbgPrint("NDISLWF: "); DbgPrint stmt; \
} \
}
#define DEBUGPDUMP(lev, pBuf, Len) \
{ \
if ((lev) <= filterDebugLevel) \
{ \
DbgPrintHexDump((PUCHAR)(pBuf), (ULONG)(Len)); \
} \
}
#define FILTER_ASSERT(exp) \
{ \
if (!(exp)) \
{ \
DbgPrint("Filter: assert " #exp " failed in" \
" file %s, line %d\n", __FILE__, __LINE__); \
DbgBreakPoint(); \
} \
}
//
// Memory Allocation/Freeing Audit:
//
//
// The FILTER_ALLOCATION structure stores all info about one allocation
//
typedef struct _FILTERD_ALLOCATION {
ULONG Signature;
struct _FILTERD_ALLOCATION *Next;
struct _FILTERD_ALLOCATION *Prev;
ULONG FileNumber;
ULONG LineNumber;
ULONG Size;
NDIS_HANDLE OwnerHandle;
union
{
ULONGLONG Alignment;
UCHAR UserData;
};
} FILTERD_ALLOCATION, *PFILTERD_ALLOCATION;
#define FILTERD_MEMORY_SIGNATURE (ULONG)'TFSM'
extern
PVOID
filterAuditAllocMem (
NDIS_HANDLE NdisHandle,
ULONG Size,
ULONG FileNumber,
ULONG LineNumber
);
extern
VOID
filterAuditFreeMem(
PVOID Pointer
);
extern
VOID
filterAuditShutdown(
VOID
);
extern
VOID
DbgPrintHexDump(
PUCHAR pBuffer,
ULONG Length
);
#else
//
// No debug
//
#define DEBUGP(lev, stmt)
#define DEBUGPDUMP(lev, pBuf, Len)
#define FILTER_ASSERT(exp)
#endif // DBG
#endif // _FILTDEBUG__H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -