VS驱动开发错误解决

1. NET_BUFFER_LIST未定义

方法:在内核的入口处,所有include 之前添加如下代码:

#define NDIS620

例如在DriverEntry 函数定义的文件最开始添加。

#define NDIS620
#include 
#include 
#include 
#include 
#include 
#include 
#define INITGUID
#include 
···

不同版本支持不同的NIDS版本号,具体可查:

Definitions with NDIS version numbers may use any of the following:

        Version     First available in
        ------------------------------------------------------------------
        682         Windows 10, RS5 Release
        681         Windows 10, version 1803
        680         Windows 10, version 1709
        670         Windows 10, version 1703
        660         Windows 10, version 1607 / Windows Server 2016
        651         Windows 10, version 1511
        650         Windows 10, version 1507
        640         Windows 8.1 / Windows Server 2012 R2
        630         Windows 8 / Windows Server 2012
        620         Windows 7 / Windows Server 2008 R2
        61          Windows Vista SP1 / Windows Server 2008 RTM
        60          Windows Vista RTM
        52          Windows Server 2003 R2 / Windows Server 2003 + SNP
        51          Windows XP / Windows Server 2003
        50          Windows 2000
        40          Windows 95

2. LNK2019 无法解析的外部符号 _FwpsCalloutRegister0

在项目属性添加的链接器如下添加库文件:

WDMSec.lib;FwpKClnt.lib;Fwpuclnt.lib;NTOSKrnl.lib;NetIO.lib;NDIS.lib;UUID.lib;advapi32.lib;kernel32.lib;

你可能感兴趣的:(驱动开发)