番茄系统家园 - 免费重装系统!简单装系统,人人都是装机大师!
当前位置:首页>Win7资讯 > wdk驱动开发入门

wdk驱动开发入门

来源:番茄系统家园浏览:时间:2021-08-31 01:20:16

wdk驱动开发入门

WDK开发环境构建驱动程序入门、驱动程序的和

先安装WDK7驱动开发包7

包含环境调试工具设备仿真和测试相关

路径

DSF一时不知道是什么

安装过程

完成

开始菜单出来两个一级菜单调试工具驱动开发包

看一下构建环境包含和Free两种有何区别

有和, 没有基本上这两者与我们传统的Debug和Release相对应

chk表示Checkedfre表示Free。主要的区别在于checkedbuild有traces和asserts而freebuild没有。

 

checked和free是怎么出现的呢因为传统的用词一般是debug和retail或者release。

当WindowsNT还处在开发阶段的时候开发组的人还在用“debug”和“retail”。Debug和Retail的不同在于编译时的选项

  CompilerOptimization开、关

DebugTraces开、关

Assertions开、关

  Sanitychecks开、关

传统来说Debug是“Optimization关Traces开Assertions开”Retail是“O开T关A关”。后来NT团队加入了Sanitychecks的选项。本来Sanitycheck在内部版本中有在发布的时候会移除掉。

 

于是NT的团队就有了“O开T开A开S开”“O开T关A关S开”和“O开T关A关S关”三种Build。

最后一种是传统的“retail”build。那么前两种叫什么build呢第一种Optimization是开着的所以不是传统的“debug”后一种Sanitycheck是开着的所以不是传统的“retail”。

 

为了区别这些build的不同。讨论以后NT团队决定用“checked”表示“O开T开A开S开”“Free”表示“O开T关A关S开”。Checked是因为所以的check都打开了Free是因为“checkfree”。

 

  后来随着NT3.1项目进展团队认识到

他们其实根本就不会去测试“retail”build

他们对freebuild进行了性能测试结果发现它能够满足性能要求。

  于是团队把freebuild作为最终版本发布。

 

进到一个build环境命令提示符输入build命令我的本意是看一下build命令的帮助结果一行行提示自己出来看上去不停地在运行某个程序原来在安装的一级或二级目录下直接打build命令会自动构建WDK本身自带的全部驱动程序例子

  先Ctrl-C终止

做一个入门WDK驱动程序代码如下存为test.c

#includentddk.h#includewdf.hDRIVER_INITIALIZEDriverEntry;EVT_WDF_DRIVER_DEVICE_ADDKmdfHelloWorldEvtDeviceAdd;NTSTATUSDriverEntry(_In_PDRIVER_OBJECTDriverObject,_In_PUNICODE_STRINGRegistryPath){//NTSTATUSvariabletorecordsuccessorfailureNTSTATUSstatusSTATUS_SUCCESS;//AllocatethedriverconfigurationobjectWDF_DRIVER_CONFIGconfig;//PrintHelloWorldforDriverEntryKdPrintEx((DPFLTR_IHVDRIVER_ID,DPFLTR_INFO_LEVEL,KmdfHelloWorld:DriverEntry

));//Initializethedriverconfigurationobjecttoregisterthe//entrypointfortheEvtDeviceAddcallback,KmdfHelloWorldEvtDeviceAddWDF_DRIVER_CONFIG_INIT(config,KmdfHelloWorldEvtDeviceAdd);//Finally,createthedriverobjectstatusWdfDriverCreate(DriverObject,RegistryPath,WDF_NO_OBJECT_ATTRIBUTES,config,WDF_NO_HANDLE);returnstatus;}NTSTATUSKmdfHelloWorldEvtDeviceAdd(_In_WDFDRIVERDriver,_Inout_PWDFDEVICE_INITDeviceInit){//Werenotusingthedriverobject,//soweneedtomarkitasunreferencedUNREFERENCED_PARAMETER(Driver);NTSTATUSstatus;//AllocatethedeviceobjectWDFDEVICEhDevice;//PrintHelloWorldKdPrintEx((DPFLTR_IHVDRIVER_ID,DPFLTR_INFO_LEVEL,KmdfHelloWorld:KmdfHelloWorldEvtDeviceAdd

));//CreatethedeviceobjectstatusWdfDeviceCreate(DeviceInit,WDF_NO_OBJECT_ATTRIBUTES,hDevice);returnstatus;}

  相关参考见此https://docs.microsoft.com/zh-cn/windows-hardware/drivers/gettingstarted/writing-a-very-small-kmdf--driver

有关WDK驱动程序构建的参考见

   https://docs.microsoft.com/zh-cn/windows-hardware/drivers/devtest/tools-for-building-drivers

  https://www.baidu.com/link?urlgofQddvm4cFhKAFxAD1iH0_YNCjokCmRwhWT5SEKaaWhbkQPew_4nTGZRiuBBX9bK8r98rY4F-FZuzSfC7o-SPME2VHxHqYizvD8EV7M7Lywdeqida98c2ec5000d****65fef218a

 

从CheckedBuild环境切换到test.c所在目录输入buildtest.c看一下能否构建出一个test.sys的驱动程序构建完成Done

没有出来.sys为后缀的驱动程序还不是很清楚这概念可能到某一版本后MS的构建应用程序的build和构建驱动程序的build可能是一个只是通过不同的参数和环境来构建出不同的程序类型

看一下安装目录的下面目录是一个wmi示例驱动程序

adm64目录下都是源文件构建一下此驱动示例看能否生成.sys驱动amd64架构的驱动程序构建成功以后出现在amd64目录下如果是构建x86的驱动程序则.sys出现在i386目录下

构建wmisamp示例完毕后显示Donewmisamp.sys1executablebuilt

看一下amd64目录下出来一个.sys驱动程序

 

相关阅读

  • wdk驱动 一驱多卡 win7
  • wdk7.1下载
  • wdk驱动开发入门
  • 推荐系统

    • 雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载

      雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载64位
      系统大小:0MB系统类型:WinXP

      雨林木风在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业知名品牌,雨林木风WindowsXP其系统口碑得到许多人认可,积累了广大的用户群体,是一款稳定流畅的系统,雨林木风 winxp下载 纯净版 永久激活 winxp ghost系统 sp3 系统下载,有需要的朋友速度下载吧。

      系统等级:
      进入下载 >
    • 萝卜家园win7纯净版 ghost系统下载 x64 联想电脑专用

      萝卜家园win7纯净版 ghost系统下载 x64 联想电脑专用64位
      系统大小:0MB系统类型:Win7

      萝卜家园win7纯净版是款非常纯净的win7系统,此版本优化更新了大量的驱动,帮助用户们进行舒适的使用,更加的适合家庭办公的使用,方便用户,有需要的用户们快来下载安装吧。

      系统等级:
      进入下载 >
    • 雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载

      雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载64位
      系统大小:1.01GB系统类型:WinXP

      雨林木风xp系统 xp系统纯净版 winXP ghost xp sp3 纯净版系统下载,雨林木风WinXP系统技术积累雄厚深耕多年,采用了新的系统功能和硬件驱动,可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,加固了系统安全策略,运行环境安全可靠稳定。

      系统等级:
      进入下载 >
    • 萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载

      萝卜家园win10企业版 免激活密钥 激活工具 V2023 X64位系统下载64位
      系统大小:0MB系统类型:Win10

      萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,(win10企业版,win10 ghost,win10镜像),萝卜家园win10企业版 免激活密钥 激活工具 ghost镜像 X64位系统下载,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园

      系统等级:
      进入下载 >
    • 萝卜家园windows10游戏版 win10游戏专业版 V2023 X64位系统下载

      萝卜家园windows10游戏版 win10游戏专业版 V2023 X64位系统下载64位
      系统大小:0MB系统类型:Win10

      萝卜家园windows10游戏版 win10游戏专业版 ghost X64位 系统下载,萝卜家园在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的萝卜家园品牌,其系统口碑得到许多人认可,积累了广大的用户群体,萝卜家园win10纯净版是一款稳定流畅的系统,一直以来都以用户为中心,是由萝卜家园win10团队推出的萝卜家园win10国内镜像版,基于国内用户的习惯,做

      系统等级:
      进入下载 >
    • windows11下载 萝卜家园win11专业版 X64位 V2023官网下载

      windows11下载 萝卜家园win11专业版 X64位 V2023官网下载64位
      系统大小:0MB系统类型:Win11

      萝卜家园在系统方面技术积累雄厚深耕多年,windows11下载 萝卜家园win11专业版 X64位 官网正式版可以更好的发挥系统的性能,优化了系统、驱动对硬件的加速,使得软件在WINDOWS11系统中运行得更加流畅,加固了系统安全策略,WINDOWS11系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。

      系统等级:
      进入下载 >