wdk驅(qū)動開發(fā)入門
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驱动程序
推薦系統(tǒng)
雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(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)想電腦專用
系統(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)下載
系統(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)下載
系統(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)下載
系統(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)下載
系統(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)入下載 >
相關(guān)文章
- 有什么電腦自動關(guān)機(jī)軟件好用 電腦自動關(guān)機(jī)軟件下載推薦
- 微信抽獎小程序怎么弄,教你微信轉(zhuǎn)盤抽獎小程序制作方法
- 收集意見建議小程序怎么弄,教你制作匿名收集意見的小程序
- 掃碼助力活動怎么弄,微信公眾號助力活動的制作步驟
- 海報裂變活動怎么弄,微信公眾號生成海報裂變活動的方法
- 公眾號推廣二維碼怎么弄,微信公眾號推廣二維碼生成方法
- 公眾號裂變活動制作,微信公眾號怎么做裂變活動
- 登記信息二維碼制作,如何實(shí)現(xiàn)掃碼登記填報信息
- 登記表怎么弄,教你微信登記表格怎么做
- 參數(shù)二維碼怎么弄,微信公眾號帶參數(shù)二維碼怎么生成
- 報名二維碼怎么弄,微信公眾號報名二維碼制作步驟
- 設(shè)置電腦定時關(guān)機(jī)命令如何更改 電腦定時關(guān)機(jī)命令設(shè)置方法詳解
- win7怎么自動關(guān)機(jī) win7自動關(guān)機(jī)時間設(shè)置方法
- 設(shè)置定時關(guān)機(jī)命令在哪 電腦設(shè)置定時關(guān)機(jī)命令
熱門系統(tǒng)
推薦軟件
推薦應(yīng)用
推薦游戲
熱門文章
常用系統(tǒng)
- 1深度系統(tǒng) Windows11家庭專用版 永久激活 ghost系統(tǒng) ISO鏡像 X64位
- 2x86極速技術(shù)版下載 青蘋果系統(tǒng)WinXP企業(yè)版 ghost鏡像下載 免激活工具
- 3電腦公司win7企業(yè)版 windows7 ghost x64位 v2023官網(wǎng)鏡像下載
- 4外星人系統(tǒng)windows11簡體中文旗艦版 X64位 V2022.04
- 5深度技術(shù)WINDOWS10旗艦版最新系統(tǒng) X64位 V2022.04下載
- 6番茄花園游戲?qū)S冒?Windows7游戲版 64位ISO鏡像 完美裝機(jī)版下載
- 7電腦公司x64位官方原裝版 ISO鏡像下載 永久免費(fèi) win10旗艦版下載
- 8深度技術(shù)windows10下載 64位專業(yè)版鏡像 ghost系統(tǒng)下載 筆記本專用
- 9深度技術(shù)WINDOWS11正式版 中文純凈系統(tǒng) X64位 V2023下載