📄 common.h
字号:
#ifndef _COMMON_H_
#define _COMMON_H_
//Common DDK includes
extern "C"
{
#include <WDM.H>
#include <HIDPORT.H>
#include <HIDMINI.H>
}
#pragma warning( disable : 4514 ) // unreferenced inline function
#pragma warning( disable : 4512 ) // assignment operator could not be generated
#pragma warning( disable : 4127 ) // conditional expression is constant
#include "capdebug.h"
#include "address_defines.h"
typedef UCHAR BYTE;
typedef PUCHAR PBYTE;
typedef ULONG DWORD;
typedef PULONG PDWORD;
#define BIT(x) ((DWORD)1 << (x))
///////////////////////////////////////////////////////////////////////////////////
//Global operators new and delete
inline void * _cdecl operator new( size_t sz )
{
PVOID p = ExAllocatePool( NonPagedPool, sz );
//KdPrint(( "generic replacement new size %d got = %x\n", sz, p ) );
if (!p)
{
dbgLogError(("FAIL: generic replacement new size %x\n", sz, p ) );
}
return p;
}
inline void _cdecl operator delete( void *p )
{
//KdPrint(( "generic replacement delete = %x\n", p ) );
if ( p ) {
ExFreePool( p );
}
else
{
dbgLogError(("FAIL: generic replacement delete got NULL\n") );
}
}
inline void * _cdecl operator new[]( size_t sz )
{
PVOID p = ExAllocatePool( NonPagedPool, sz );
//KdPrint(("generic replacement new [] size %d got = %x\n", sz, p ) );
if (!p)
{
dbgLogError(("FAIL: generic replacement new [] size %x\n", sz, p ) );
}
return p;
}
inline void _cdecl operator delete []( void *p )
{
//dbgLogTrace(("generic replacement delete [] = %x\n", p ) );
if(p)
{
ExFreePool(p);
}
else
{
dbgLogError(("FAIL: generic replacement delete [] got NULL\n") );
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -