⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.h

📁 pci 底层驱动
💻 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 + -