番茄系統(tǒng)家園 - 免費(fèi)重裝系統(tǒng)!簡單裝系統(tǒng),人人都是裝機(jī)大師!
當(dāng)前位置:首頁>Win7資訊 > wdk驅(qū)動開發(fā)入門

wdk驅(qū)動開發(fā)入門

來源:番茄系統(tǒng)家園瀏覽:時間: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驱动开发入门
  • 推薦系統(tǒng)

    • 雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載

      雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載64位
      系統(tǒng)大?。?/em>0MB系統(tǒng)類型:WinXP

      雨林木風(fēng)在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)知名品牌,雨林木風(fēng)WindowsXP其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。

      系統(tǒng)等級:
      進(jìn)入下載 >
    • 蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用

      蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用64位
      系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win7

      蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅(qū)動,幫助用戶們進(jìn)行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。

      系統(tǒng)等級:
      進(jìn)入下載 >
    • 雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載

      雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載64位
      系統(tǒng)大小:1.01GB系統(tǒng)類型:WinXP

      雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風(fēng)WinXP系統(tǒng)技術(shù)積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅(qū)動,可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,加固了系統(tǒng)安全策略,運(yùn)行環(huán)境安全可靠穩(wěn)定。

      系統(tǒng)等級:
      進(jìn)入下載 >
    • 蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載

      蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載64位
      系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10

      蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園

      系統(tǒng)等級:
      進(jìn)入下載 >
    • 蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載

      蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載64位
      系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10

      蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園win10國內(nèi)鏡像版,基于國內(nèi)用戶的習(xí)慣,做

      系統(tǒng)等級:
      進(jìn)入下載 >
    • windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載

      windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載64位
      系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win11

      蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動對硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運(yùn)行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運(yùn)行環(huán)境安全可靠穩(wěn)定。

      系統(tǒng)等級:
      進(jìn)入下載 >

    熱門系統(tǒng)

    常用系統(tǒng)