windows内核驱动开发(WDK环境搭建)

2023-11-19

 去官网下载WDK安装包和Visual Studio 下载 Windows 驱动程序工具包 (WDK) - Windows drivers | Microsoft Docs

首先安装Visual Studio  这个就不用我介绍了怎么安装了。

下面直接下载步骤二和步骤三的SDK和WDK。

SDK下载地址 

WDK下载地址 

注意下载的SDK和WDK版本需要统一

安装SDK和WDK很简单,默认安装就可以,这里就不过多展示了。

下载完成后打开Visual Studio 创建新项目

 

这样就可以创建内核驱动程序了。

创建完成后注意项目的sdk版本和平台工具集,sdk版本一定要和wdk版本相同,否则编译不过

 

关闭警告提示为错误

 现在编译一个简单的驱动程序测试一下。

 我简单修改了一下Driver.c的文件,就是运行时输出一条信息,卸载驱动时输出一条信息。

 编译成功后找到所在文件

这个就是驱动文件, 可以找一个安装驱动的软件,进行安装和卸载(最好在虚拟机中运行,驱动调试容易蓝屏),输出的日志可以在DebugView软件中查看。

 DebugView设置

工具包 驱动开发工具,里面包含Dbgview和驱动安装卸载工具-C++文档类资源-CSDN下载

启动和停止都能正常输出,测试成功!

在测试的时候需要windows禁用驱动强制签名

win10系统如何禁用驱动程序强制签名

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows内核驱动开发(WDK环境搭建) 的相关文章

  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 在高 dpi Windows 平台上自动重新缩放应用程序?

    我正在编写一个需要在高 dpi Windows 192dpi 而不是 96dpi 上运行的 Qt 应用程序 不幸的是 Qt 框架尚不支持高 dpi 至少在 Windows 上 因此我的应用程序及其所有元素看起来只有应有尺寸的一半 有没有办法
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 在 ASP.NET Core 3.1 中使用包含“System.Web.HttpContext”的旧项目

    我们有一些用 Net Framework编写的遗留项目 应该由由ASP NET Core3 1编写的API项目使用 问题是这些遗留项目正在使用 System Web HttpContext 您知道它不再存在于 net core 中 现在我们
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • clang 实例化后静态成员初始化

    这样的代码可以用 GCC 编译 但 clang 3 5 失败 include
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框

随机推荐

  • 深度学习中卷积和池化的一些总结

    最近完成了hinton的深度学习课程的卷积和池化的这一章节了 马上就要结束了 这个课程的作业我写的最有感受 待我慢慢说来 1 里面有几个理解起来的难点 一个是卷积 可以这么来理解 这幅图是对一个5 5的矩阵A进行3 3的矩阵B的卷积 那么就
  • 大数据分析系统

    1 概念 分类 数据分析系统的主要功能是从众多外部系统中 采集相关的业务数据 集中存储到系统的数据库中 系统内部对所有的原始数据通过一系列处理转换之后 存储到数据仓库的基础库中 然后 通过业务需要进行一系列的数据转换到相应的数据集市 供其他
  • LeetCode刷题——剑指offer位运算题目汇总(包含快速乘、快速幂、二进制加法)

    剑指offer位运算题目汇总 剑指 Offer II 001 整数除法 剑指 Offer II 002 二进制加法 剑指 Offer II 003 前 n 个数字二进制中 1 的个数 剑指 Offer II 004 只出现一次的数字 剑指
  • 手摸手,带你用vue撸后台 系列四(vueAdmin一个极简的后台基础模板)(好文章!!)

    转载自 原文格式清晰 https juejin im post 6844903486241374221 完整项目地址 vue element admin 系列文章 手摸手 带你用 vue 撸后台 系列一 基础篇 手摸手 带你用 vue 撸后
  • 【CSDN】删除文章后,浏览量会减少吗?了解软删除和硬删除

    hello 我是小索奇 如果你也在博客写作的话 有没有考虑到一个问题 文章删除后 浏览量会减少吗 下面就给大家阐述一下 当在CSDN中删除已发布的文章后 该文章的浏览量统计会有以下情况 软删除状态的文章 浏览量统计会保留 不会下降或者重置
  • html+css+javascript 之间的关系与作用

    三者间的关系 一个基本的网站包含很多个网页 一个网页由 html css 和 javascript 组成 html 是主体 装载各种 dom 元素 css 用来装饰 dom 元素 javascript 控制 dom 元素 用一扇门比喻三者间
  • springboot多模块打包配置问题

    工程案例结构 baidu 聚合过程 baidu web 子模块web工程 baidu service 子模块 baidu config 子模块配置工程 注意事项 配置步骤 1 baidu 聚合工程 工程下的 pom xml 文件案列如下
  • 【云原生之k8s】K8s 管理工具 kubectl 详解(二)

    K8S模拟项目 Kubectl是管理k8s集群的命令行工具 通过生成的json格式传递给apiserver进行创建 查看 管理的操作 帮助信息 root localhost bin kubectl help kubectl controls
  • mysqlbinglog基于即时点还原

    mysqlbinglog基于即时点还原 mysqlbinlog介绍 要想从二进制日志恢复数据 你需要知道当前二进制日志文件的路径和文件名 一般可以从选项文件 即my cnf or my ini 取决于你的系统 中找到路径 mysql5 7开
  • SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)

    合成孔径雷达发射信号以线性调频信号 LFM 为基础 目前大部分合成孔径雷达都是LFM体制 为了减轻雷达重量也采用线性调频连续波 FMCW 体制 为了获得大带宽亦采用线性调频步进频 FMSF 体制 1 LFM信号 LFM的主要特点在于可以使载
  • 操作系统内存管理——分区、页式、段式、段页式管理

    1 内存管理方法 内存管理主要包括虚地址 地址变换 内存分配和回收 内存扩充 内存共享和保护等功能 2 连续分配存储管理方式 连续分配是指为一个用户程序分配连续的内存空间 连续分配有单一连续存储管理和分区式储管理两种方式 2 1 单一连续存
  • 谈谈Qt信号与槽

    关于Qt信号与槽 Qt信号与槽本质类似观察者模式 观察者模式 Observer Pattern 定义对象间的一种一对多依赖关系 使得每当一个对象状态发生改变时 其相关依赖对象皆得到通知并被自动更新 观察者模式又叫做发布 订阅 Publish
  • 5G Capital一年,“首都标准”初现

    在北京生活许多年 如果问我什么时候京味浓度最高 答案可能是下了飞机 走上出租车的那一刻 北京司机连闲聊都是一副见过世面的样子 你研究人工智能 我觉得吧交通管理就该这样那样 高铁咱都造出来了 什么高科技我看中国人很快就能搞出来 冬奥会场馆建得
  • scatter函数绘制散点图——MATLAB

    1 scatter X Y 在矢量X和Y指定的位置显示彩色圆 如 scatter 1 2 3 4 4 5 6 7 效果如图 默认彩色圆为蓝色空心圆 2 scatter X Y S S确定每个标记的面积 S可以是与X和Y相同长度的矢量或标量
  • Gibbs 采样基本原理和仿真

    Gibbs 采样基本原理和仿真 文章目录 Gibbs 采样基本原理和仿真 1 基本概念 1 1 Gibbs采样算法 1 2 Markov链 1 2 1 Markov链的定义 1 2 2 Markov链的细致平稳条件 1 2 3 Markov
  • 初学者怎么高效率学习c语言?

    想学C语言我们首先的了解C语言是什么 它是一门面向过程的 抽象化的通用程序设计语言 广泛应用于底层开发 C语言能以简易的方式编译以及处理低级存储器 C语言是仅产生少量的机器语言以及不需要任何运行环境支持就可以运行的高效率程序设计语言 尽管C
  • ubuntu 11配置hadoop

    最近没事 研究下ubuntu 配置hadoop ubuntu版本 64 bit 11 04 hadoop版本 hadoop1 2 1 一 在Ubuntu下创建hadoop用户组和用户 1 创建hadoop用户组 sudo addgroup
  • Samy XSS Worm 分析

    Samy Worm MySpace com允许用户通过控制标签的style属性 samy构造css xss MySpace过滤了很多关键字 利用拆分法绕过 div标签如下 div div 其中expr字符串的内容为如下javascript代
  • 软件质量保证与测试技术实验报告(二)黑盒测试用例设计

    1 实验名称 黑盒测试用例设计 2 实验目的 学会用等价类划分法和边界值法设计测试用例 进行功能测试 3 实验内容 题目1 NextDate程序的功能是按年 月 日的顺序输入一个日期 输出为输入日期后一天的日期 请使用等价类和边界值法对Ne
  • windows内核驱动开发(WDK环境搭建)

    去官网下载WDK安装包和Visual Studio 下载 Windows 驱动程序工具包 WDK Windows drivers Microsoft Docs 首先安装Visual Studio 这个就不用我介绍了怎么安装了 下面直接下载步