日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习构建WDF驱动程序 - 初步了解SOURCE和makefile文件

發布時間:2025/4/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习构建WDF驱动程序 - 初步了解SOURCE和makefile文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接此:https://blog.csdn.net/bcbobo21cn/article/details/112074021

? ? 在WDK的示例目錄下構建出一個.sys驅動程序;

下面來構建自己的驅動程序;

新建wdkprj目錄,源碼文件為mytest.c,代碼見前文;

新建SOURCES文件,無后綴;內容為:

? ??TARGETNAME=MYTEST
? ? TARGETPATH=OBJ
? ? TARGETTYPE=DRIVER
? ? SOURCES=mytest.c

新建文件MAKEFILE,無后綴,內容為:

? ??!INCLUDE $(NTMAKEENV)\makefile.def

進入build環境;轉到wdkprj目錄,然后輸入build;

構建失敗;構建以后多出objchk_win7_amd64目錄,但是其下沒有生成.sys文件;提示找不到wdf.h;

#include <ntddk.h>
#include <wdf.h>
? ? Ntddk.h 包含所有驅動程序的核心 Windows 內核定義,而 Wdf.h 包含基于 Windows 驅動程序框架 (WDF) 的驅動程序的定義。這兩個頭文件必須包含,才能生成wdf驅動程序;

?

根據網上資料;

? ? 首先頭文件必須包含#include<wdf.h>.然后再項目屬性->配置屬性下的NMake下:intellisense中的包含搜索路徑中包含下面一句話:$(WDKPATH)\inc\wdf\kmdf\1.9\;

? ? 最后在sources文件中添加一句話:KMDF_VERSION = 1.

這是說的通過VS環境來配置的時候, 添加?$(WDKPATH)\inc\wdf\kmdf\1.9\;

暫時不知道在原生build環境如何添加?$(WDKPATH)\inc\wdf\kmdf\1.9\;

另,fatal error C1083: Cannot open include file: 'wdf.h': No such file or directory

解決辦法如下:

? ? source文件中添加:KMDF_VERSION_MAJOR=1

嘗試在source文件中添加內容,再build,還是找不到 <wdh.h>

折騰;還是不行;

現在WDK 安裝目錄下,它的示例包含頭文件<wdf.h>,是可以構建成功的;

在WDK 安裝目錄的src下,新建mytest目錄,把前面三個文件,.c、SOURCE、MAKEFILE,拷過去;再build;

? ? 或把MAKEFILE文件名改為makefile,也是一樣;

參考示例的SOURCES文件,在SOURCES結尾加入一句?TARGET_DESTINATION=wdf ,也不行;

在WDK安裝目錄的bin目錄下有一個setwdf.bat文件,其內容為

@echo off
SET KMDF_INC_PATH=%BASEDIR%\inc\wdf\kmdf
SET UMDF_INC_PATH=%BASEDIR%\inc\wdf\umdf
SET KMDF_LIB_PATH=%BASEDIR%\lib\wdf\kmdf\*

先運行一下此文件;再進入mytest,執行build,還是找不到 <wdf.h>;先到這里;

?

總結

以上是生活随笔為你收集整理的学习构建WDF驱动程序 - 初步了解SOURCE和makefile文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。