Windows Driver开发_安装与配置环境

这篇具有很好参考价值的文章主要介绍了Windows Driver开发_安装与配置环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先到这个网站里去下载Visual Studio2019,注意目前最新版的WDK仅支持Visual Studio2019,如果要下载2022版本目前推出了预览版,但需要申请下载,所以这里以2019为例。

以前的 WDK 版本和其他下载 - Windows drivers | Microsoft Docs

打开网站后往下拉,找到Visual Studio2019下载,选择一个适用于你的版本,如果个人的话建议Community版本

Windows Driver开发_安装与配置环境

 下载之后双击打开进入安装界面,安装时选择C++的桌面开发要选中,同时“用于Windows 10 SDK)”这个也要选中,WDK基于这些LIB。 

Windows Driver开发_安装与配置环境

如果你电脑上已经有VS了,但是没有装win10SDK,你可以到这个网站下载SDK:Windows SDK - Windows 应用开发

如果网页提示Win11 SDK也没事,可以下载安装到你的Win10上,因为这个是兼容的。

然后在页面往下拉,可以看到WDK,这里有许多版本,你不用在意你的Win10版本,你只需要下载最新的一个就可以了,是向前兼容的。 

Windows Driver开发_安装与配置环境

下载下来以后用管理员权限运行并安装到你的电脑上就可以了,记住安装顺序,先安装好Visual Stuio2019以后在安装WDK,安装WDK时记得记住安装路径,因为等下需要到安装路径下去安装Visual Stuio2019 Tools插件。

安装完成之后打开WDK安装路径,一直往下拉找到“Vsix”目录双击进去

Windows Driver开发_安装与配置环境

可以看到vs2019,双击进去

Windows Driver开发_安装与配置环境

然后双击WDK.vsix,注意,执行这一步之前先退出Visual Stuio2019

Windows Driver开发_安装与配置环境

安装完成之后在打开Vs2019,在新建项目里就可以看到WDK的项目了,后面括号里(KMDF)的意思是Kernel MDF模型,WDK使用的是MDF开发框架模型,所以这里叫MDF。 

Windows Driver开发_安装与配置环境

我们创建一个WDK项目,这里创建的是一个基础内核MDF模型项目,注意这里选择“Kernel Model Driver,Empty”空项目,这样更容易理解,如果创建非空项目的话不适合基础开发人员理解,我们先创建一个空项目编写一个基础的代码,这样方便上手

Windows Driver开发_安装与配置环境

然后我们在增加一个“driver.c”的源文件,注意这里一定要以.c结尾,只能是C语言文件,在Visual Studio里如果.c结尾的则会用C编译器来编译,这样会节省很大的代码空间,如果是C++的话还会增加额外的一些代码,如普通函数里也会增加try异常代码,以及结构体里会增加构造函数调用之类的代码,这也是为什么我们平常看到的C++程序会比C语言的要大。

另外最重要的一点是Windows内核是C语言编写的,用C编译器编译出来的程序更符号内核程序的入栈方式。

这里文件可以随意命名,以.c结尾就好了,起driver只是windows driver开发中惯用这个名字作为main文件

Windows Driver开发_安装与配置环境 然后我们包含基础头文件:

这个是ddk的头文件,我们的wdk基于ddk,只不过wdk增加了一些针对电源、PNP的功能,WDK原本就是DDK框架的增强版,只不过现在改名了叫WDK了,WDK包含了DDK框架并增加了一些增强功能,以便能够将过去的一些驱动移植到最新的系统中。

本例程创建一个NTDDK的驱动框架,后续会写文章教大家编写WDK框架的驱动。

#include <ntddk.h>

 然后创建一个DriverEntry函数,这个函数就相当于main函数,原型以及返回值都有要求的,这个函数会在驱动被调用时执行。

NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath){

     return STATUS_SUCCESS;

}

然后直接build

build可能会出现这个问题: 

Windows Driver开发_安装与配置环境

这个是Spectre缓解库的问题,MS官方推出的一个库,默认在驱动开发时会开启,但是需要你电脑上安装对应的VS Spectre库,这个库的作用是用来保证硬件开发时的漏洞问题,它对应的是C++库,你可以把它理解为C++的增强安全库,它里面的函数对指针与堆栈溢出代码做了很好的防范,使用这个库可以保证你的代码不会出现内存溢出或指针非法引用。

解决这个问题有两个方案,第一是到官网下载对应的Spectre缓解库,但是比较麻烦,第二是在项目中禁用它,这里我们先禁用它:

Windows Driver开发_安装与配置环境

build之后就可以在文件夹下看到生成的sys文件以及inf文件:

Windows Driver开发_安装与配置环境文章来源地址https://www.toymoban.com/news/detail-445510.html

到了这里,关于Windows Driver开发_安装与配置环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows 11 本地 php 开发环境搭建:PHP + Apache + MySQL +VSCode 安装和环境配置

    最近有空整理一下php 在windows上面的环境配置。原因是发现网上大多数php环境配置的相关帖子内容凌乱、多数是不能配置成功的。所以决定全部走一遍配置,以确保整个过程是成功的。并在此基础上开个帖子记录下这个完整的安装和配置过程,以备忘和供有需要的同学参考。

    2024年04月26日
    浏览(76)
  • 【opencv C++版本】安装和学习 ==Windows下使用VSCode配置OpenCV开发环境

    ref:https://opencv.org/releases/ ref:https://www.cnblogs.com/ticlab/p/16817542.html c_cpp_properties.json 照着ref 没安装成功,先写个二分查找把 ref:https://docs.opencv.org/4.x/df/d65/tutorial_table_of_content_introduction.html nnd,用这个ref在ubuntu20.04 上安装成功了!!!咳咳咳 ref:https://blog.csdn.net/weixin_4479667

    2024年02月14日
    浏览(52)
  • 1.1 Windows驱动开发:配置驱动开发环境

    在进行驱动开发之前,您需要先安装适当的开发环境和工具。首先,您需要安装Windows驱动开发工具包(WDK),这是一组驱动开发所需的工具、库、示例和文档。然后,您需要安装Visual Studio开发环境,以便编写和调试驱动程序。在安装WDK和Visual Studio之后,您还需要配置适当的

    2024年02月03日
    浏览(43)
  • Windows11配置VUE开发环境

    下载地址:https://nodejs.org/en/download 使用下面的终端工具打开安装: npm cache clean --force 是一个 npm 命令,用于清除 npm 的缓存。下面是关于该命令的完整介绍和用法: 说明: npm cache clean 是用来清除 npm 缓存的命令。 –force 参数是可选的,用于强制清除缓存,即使 npm 报告没有

    2024年04月15日
    浏览(41)
  • Go Windows下开发环境配置(图文)

    下载 安装 点击下载的安装包进行安装。安装路径可以选择到自己的目录。 环境变量配置 GOROOT:(指定到安装目录下) GOPATH:(是工作空间) path:在安装时已经添加了bin目录,可不管 验证 打开cmd 输入 go version,有版本提示即安装OK。 idea配置go开发环境 下载go插件 file-set

    2024年02月13日
    浏览(41)
  • selenium +Chrome driver环境配置

    其实为了避免下文的问题1,可以直接用这行代替。(如果没啥问题的话,一般也不会专门去指定selenium的版本的。) Google Chrome - 快速安全的网络浏览器,专为您而打造 安装路径使用默认的!!! 下载完以后,打开Chrome,帮助-关于Google Chrome查看Chrome版本 进入下面的网站,找

    2024年03月13日
    浏览(55)
  • Windows 下 Docker 容器化开发环境配置

    作者:禅与计算机程序设计艺术 Docker 是一种轻量级虚拟化技术,可以将一个完整的应用或服务打包成一个镜像文件,然后通过 Docker 引擎运行这个镜像,简化了应用或服务在不同环境的部署、迁移及运维等工作。最近几年,越来越多的人开始试用 Docker 来开发和部署应用系统

    2024年02月07日
    浏览(49)
  • 【JAVA】Java 开发环境配置(WIndows篇)

    个人主页:【😊个人主页】 系列专栏:【初始JAVA】 在前篇中我们介绍了JAVA语言的诞生与发展,现在是时候去学习使用他们了。 首先我们需要下载 java 开发工具包 JDK,下载地址,在下载页面中根据自己的系统选择对应的版本,本文以 Window 64位系统为例: 下载后 JDK 的安装

    2024年02月12日
    浏览(50)
  • Windows配置R语言、RStudio开发环境

      本文介绍 R 语言及其集成开发环境 RStudio 的下载、安装方法。    R 语言是一个属于 GNU 操作系统的开源软件,在数据统计与分析、可视化等方面具有优秀的表现;而 RStudio 则是 R 语言的集成开发环境( IDE ),可以帮助我们更好地编辑、调试 R 语言的代码。这二者的关

    2024年03月09日
    浏览(33)
  • 音视频开发十七:Windows VS 2022 环境配置SDL2开发环境

    SDL(Simple DirectMedia Layer)是 一套开放源代码的跨平台多媒体开发库 , 使用C语言写成 。能够提供视频渲染,音频播放,鼠标/键盘控制等操作。 跨平台是说它对外接供了一套统一的接口,但在内部, 它会根据不同平台调用不同的底层 API库 。如在 Linux 系统下,它会使用 ope

    2024年02月10日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包