Windows驱动环境配置

news2025/1/18 11:00:34

windows驱动开发视频教程(2023最新版)_哔哩哔哩_bilibili

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

确认本机操作系统版本

安装操作系统版本对应的Visual Studio

我的机器是1904可以安装vs2019,但是实际上我装的是vs2017也是没有问题的

 

安装WDK

WDK版本一定要对应,我的机器是1903所以安装1903的WDK,如果版本不一致,那么后续VS在编译的时候很可能编译失败,出现很多问题,

我的机器是vs2017然后装的是WDK1709,明显是不对应的,所以后面编译出现了很多问题,查了各种资料之后 安装了wdk16299

新建一个KMDF项目,编写几行测试代码

#include<ntifs.h>

NTSTATUS
DriverEntry(
	_In_ PDRIVER_OBJECT DriverObject,
	_In_ PUNICODE_STRING RegistryPath
)
{
	DriverObject;
	RegistryPath;
	KdPrint(("zxxx \n"));
	return 0;
}

配置虚拟机

注意虚拟机的操作系统版本要和VS配置的版本一致

我们编译好的驱动正常来说是无法直接运行的,需要证书签名才能导入运行,可以将虚拟机配置为测试环境,这样可以不用签名就可以运行自己的驱动程序

加载测试签名代码 - Windows drivers | Microsoft Learn

#不需要签名即可执行驱动
Bcdedit.exe -set TESTSIGNING ON
#需要签名才可执行驱动
Bcdedit.exe -set TESTSIGNING OFF

注意更改完之后重启,虚拟机右下角会多了“测试模式字样”

然后就是将我们编译好的驱动文件复制到虚拟机里面运行 观察结果,测试代码成功打印

这两个软件全都右键管理员权限运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

泼辣修图2023最新网页版MAC电脑手机修图软件功能介绍

泼辣修图5.11.4最新版为用户带来更多新版的修改工具&#xff0c;进一步优化相关的设备&#xff0c;可以更舒畅的使用去修改图片&#xff0c;还有很多贴纸&#xff0c;文字等等小工具使用&#xff0c;丰富照片情景。 适用于Windows的泼辣修图摄影爱好者都在用泼辣处理照片 泼辣…

并发编程学习案例-ReentrantReadWriteLock非公平的情况下读锁插队和写锁插队场景复现

文章目录一、前言二、源码三、 代码案例&#xff08;一&#xff09;复现写的时候插队场景参考执行结果&#xff08;二&#xff09;复现读的时候插队参考执行结果参考资料一、前言 Java ReentrantReadWriteLock 是 ReadWriteLock 的实现类&#xff0c;可以分出2把锁&#xff0c;…

OpenCV 图像形态学处理

本文是OpenCV图像视觉入门之路的第11篇文章&#xff0c;本文详细的在图像形态学进行了图像处理&#xff0c;例如&#xff1a;腐蚀操作、膨胀操作、开闭运算、梯度运算、Top Hat Black Hat运算等操作。 OpenCV 图像形态学处理目录 1 腐蚀操作 2 膨胀操作 3 开闭运算 4 梯度运…

57.Isaac教程--定位监视器

定位监视器 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 检测异常系统状态并采取纠正措施有助于确保稳定的系统性能和与预期行为的最小偏差。 为此&#xff0c;Isaac SDK 提供了一个监控框架&#xff0c;可以搭载多种系统观察组件。 该框架目…

达芬奇18.1.2软件更新内容及安装教程(WinMac)

DaVinci Resolve v18.1.2是一款在同一个软件工具中&#xff0c;将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身的解决方案&#xff01;它采用美观新颖的界面设计&#xff0c;易学易用&#xff0c;能让新手用户快速上手操作&#xff0c;还能提供专业人士需要的强大性能…

【论文速递】WACV2023 - 循环相似注意力的小样本医学图像分割

【论文速递】WACV2023 - 循环相似注意力的小样本医学图像分割 【论文原文】&#xff1a;Few-shot Medical Image Segmentation with Cycle-resemblance Attention 获取地址&#xff1a;https://arxiv.org/pdf/2212.03967.pdf博主关键词&#xff1a; 小样本学习&#xff0c;语…

SpringCloud系列(九)[docker 篇] - Centos 7 下 Docker 的安装及基本操作指令

本篇文章将详细介绍 Centos 7 下 Docker 的安装以及一些基本操作指令. DockerDocker 的安装步骤Docker 基本操作指令Docker 的安装步骤 步骤一: 确保自己电脑的虚拟机联网并安装了 yum 工具, 如果没有安装 yum, 则执行下面的命令; yum install -y yum-utils \device-mapper-p…

力扣:多数元素(详解)

前言&#xff1a;本期是关于多数元素的详解&#xff0c;内容包括四大模块&#xff1a;题目&#xff0c;代码实现&#xff0c;大致思路&#xff0c;代码解读 今天你c了吗&#xff1f; 题目&#xff1a; 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元…

Python爬虫实战之哔哩哔哩二维码登录申请

前言 哈喽&#xff0c;好久不见了吧&#xff0c;各位新年好&#xff01;博主春节也是比较忙的&#xff0c;没时间去写文章和"coding"。最近我们学校也是初九就开学了&#xff0c;所以更加没时间创作了&#x1f923; 言归正传&#xff0c;本次写这篇文章算是想要对我…

软件测试基础(五) 之 了解测试团队的组织架构

今天来了解一下软件测试团队的组织架构模式到底是什么样子。测试团队的组织架构模式的分类一个公司软件测试的组织架构&#xff0c;可能会决定你未来的成长空间&#xff0c;同时也决定了我们的工作模式到底是什么样子。现在测试行业内通常测试团队的组织架构主要分成两种&#…

亚马逊站内流量太少,如何拓展流量渠道增加产品销量?

近两年&#xff0c;经历了行业大洗牌之后&#xff0c;由于入驻平台卖家逐日增多&#xff0c;站内广告成本越来越高&#xff0c;想要抢占更多的站内流量变得愈发困难&#xff0c;一天出不了几单的情况也随处可见。因此&#xff0c;当站内流量的获取遭遇瓶颈&#xff0c;卖家想要…

阿里二面:RocketMQ 消费者拉取一批消息,其中部分消费失败了,偏移量怎样更新?

大家好&#xff0c;我是君哥。最近有读者参加面试时被问了一个问题&#xff0c;如果消费者拉取了一批消息&#xff0c;比如 100 条&#xff0c;第 100 条消息消费成功了&#xff0c;但是第 50 条消费失败&#xff0c;偏移量会怎样更新&#xff1f;就着这个问题&#xff0c;今天…

Pycharm出现‘Error loading package list:Connection refused: connect’问题

问题描述依次打开File->Settting窗口点击图中号弹出如下错误&#xff1a;Package错误窗口‘Error loading package list:Connection refused: connect 一段时间后继续弹出以下窗口&#xff1a;2.问题分析目前这个问题普遍说是由于网络配置原因引起的&#xff0c;在这之前&am…

【数据结构/C++】 树详解

目录树树的定义树的基本术语二叉树⼆叉树的种类满二叉树完全二叉树二叉树的性质二叉树的遍历方法前序遍历中序遍历后序遍历层序遍历二叉树的实现树 树的定义 树&#xff08;Tree&#xff09;是n&#xff08;n≥0&#xff09;个结点的有限集。n0时称为空树。在任意一颗非空树中…

[Effective Objective] 块与大中枢派发

为了解决多线程问题&#xff0c;苹果公司以全新的方式设计了多线程。核心就是“块”&#xff08;block&#xff09;与“大中枢派发”&#xff08;Grand Central Dispatch, GCD&#xff09;。 “块”是一种可在C、C及Objective-C代码中使用的“词法闭包”&#xff0c;借由此机制…

在一起多少天怎么设置?如何微信推送在一起多少天

马上情人节要到了&#xff0c;你和你的对象在一起多久了&#xff1f;两个人在恋爱中&#xff0c;会需要记录彼此在一起的每一天&#xff0c;特别是一些重要的纪念日比如100天纪念日&#xff0c;365天、或者520天纪念日。市面上有许多工具&#xff0c;可以帮我们记录这些重要的日…

指针空值nullptr(C++11)

在良好的C/C编程习惯中&#xff0c;声明一个变量时最好给该变量一个合适的初始值&#xff0c;否则可能会出现 不可预料的错误&#xff0c;比如未初始化的指针。如果一个指针没有合法的指向&#xff0c;我们基本都是按照如下 方式对其进行初始化&#xff1a;void TestPtr() { in…

【Docker 02】docker镜像和容器命令大全

对于入门学习者,更推荐的方式是通过官网的Reffrence手册,学习使用命令,不仅存在用法,选项参数的解释,还有用力example。 docker命令的基本语法结构: docker 子命令 [选项] [参数] 一、Docker基本命令 1.镜像有关 一批模板文件,不同的镜像可以包含的环境内容是不一样的,…

深入了解多线程原理

目录 背景知识&#xff1a; 什么是进程&#xff1f; 什么是线程&#xff1f; 线程与进程的区别&#xff1a; Thread类及常用方法&#xff1a; 循环打印的例子&#xff1a; start() 和 run() 的区别&#xff1a; 通过监视窗口查看线程&#xff1a; 创建线程&#xff1a; 1.继承 …

console控制台有sql语句输出但log文件中不输出sql解决方式

控制台可以输出sql&#xff0c;但是log文件中无sql输出&#xff0c;如何解决&#xff1f;把握两点就可以输出&#xff1a;第一点&#xff0c;mybatis 本身的logImpl配置这个参数是配置mybatis所使用的日志框架&#xff0c;取值范围如下&#xff1a;SLF4JLOG4J #表示使用LOG4J作…