VS2015 + WDK10

2023-05-16

前几天刚刚用VS2008配置好了WDK7600,各种配置,又是修改项目包含文件目录和库目录,还要修改项目属性,折腾了半天debug下终于生成了*.sys文件(驱动文件),心理很是开心啊,经理看到了,说你这都是啥时候东西了,VS2015可以直接安装不用这么麻烦配置就可以开发驱动,瞬间被泼了冷水,好吧,接着整VS2015 + WDK10吧!

 

安装步骤

 

  打开 https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit 页面,下载 VS2015 和 WDK10。

2016-08-06_125011

2016-08-06_125353

  根据你的需要下载对应版本的 VS2015,推荐下载 Community 版本,因为这个版本免费且功能齐全。安装包比较大,大概 7G 左右。下载完成后运行安装程序,选择 Visual C++ 和 Windows 10 SDK

2016-08-06_125128

2016-08-06_125154

 

这里在安装VS2015的时候呢,最好是全部安装,安装的过程也是很慢的,耐心等待吧!(安装过程中关机的话,重启会继续安装的)

 

VS2015 安装完成后,开始安装下载好的 WDK10,WDK10 是一个在线安装程序,可以直接安装也可以下载到本地再进行安装,我选择的是直接下载到本地:

2016-08-06_125711

  等待下载完成后,到下载后的目录直接运行安装程序安装即可。

开发设置

  VS2015 和 WDK 都安装完毕后,运行 VS2015,新建项目时就可以看到有 Windows Driver 的选项了,我们新建一个 WDK 的 Kernel Mode Driver 的空项目,然后新建一个 DriverEntry.c,里面写一些测试代码:

2016-08-06_130027

2016-08-06_131650

  然后点击项目属性,修改如下几个选项:

  修改警告等级为 3:

2016-08-06_130436

  修改平台为 Windows7 Desktop:

2016-08-06_130512

  关闭 inf2cat(详见 http://blog.csdn.net/doublestarts/article/details/37922819):

2016-08-06_130547

  关闭为驱动添加数字签名

2016-08-06_130612

  然后编译驱动,我选择的是 x64 平台,如无问题,则会编译成功:

1>------ 已启动生成: 项目: TestDriver, 配置: Debug x64 ------
1>  Building 'TestDriver' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform.
1>  Stamping x64\Debug\TestDriver.inf [Version] section with DriverVer=08/06/2016,13.10.36.807
1>  DriverEntry.c
1>  TestDriver.vcxproj -> d:\documents\visual studio 2015\Projects\TestDriver\x64\Debug\TestDriver.sys
1>  TestDriver.vcxproj -> d:\documents\visual studio 2015\Projects\TestDriver\x64\Debug\TestDriver.pdb (Full PDB)
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

测试驱动

找一台 Win7x64 开启了 DbgView 调试信息输出(见:修改注册表解决 Win7 DbgView 不显示调试信息)的虚拟机,开机按 F8,选择“禁用驱动程序签名强制”的选项启动系统:

2016-08-06_131237

  打开 DbgView 和驱动加载工具 InstDrv,将我们写好的驱动复制到虚拟机中,加载我们的驱动,成功后会打印驱动的注册表路径信息:

2016-08-06_131805

这里测试驱动的时候呢,不要用本机来进行驱动,最好用虚拟机,在虚拟机里面随便折腾吧!

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

VS2015 + WDK10 的相关文章

  • VS2015 community评估期已结束

    今天打开VS2015 community忽然弹出框提示VS2015 community评估期已结束 xff0c 请登录已结束锁定 第一反应是需要秘钥 xff0c 发现咦 这个软件不太一样不需要秘钥 xff0c 只需要登录就可以使用 那这就简
  • VS2015 + WDK10

    前几天刚刚用VS2008配置好了WDK7600 xff0c 各种配置 xff0c 又是修改项目包含文件目录和库目录 xff0c 还要修改项目属性 xff0c 折腾了半天debug下终于生成了 sys文件 xff08 驱动文件 xff09 x
  • Win10下VS2015(WDK10)驱动开发环境配置

    1 概述 微软在 WDK7600 以后就不再提供独立的内核驱动开发包了 xff0c 而是必须首先安装微软集成开发环境VisualStudio xff0c 然后再从微软官网下载集成的WDK开发包 或者离线安装包 xff0c 但是安装后Visu
  • vs2015 qt链接出现MSB3758 MSB4036 这两个错误解决办法

    如果是tohashset缺少using什么的 xff0c 就把 netframework更新到4 8或者 4 7 2以上版本都可以 xff0c 在vs中帮助 gt 最下面的关于 中可以查看 net版本 xff0c 如果不是4 8就更新
  • VS2015 error MSB8020: The build tools for xxx

    问题 VS2015 error MSB8020 The build tools for xxx 问题截图 xff1a 解决方案 xff1a 平台工具集版本不正确 xff0c 更正一下即可 解决方案右键项目属性 gt gt 配置属性 gt g
  • VS2015报错 无法打开python37_d.lib文件

    这个问题百度了很多次 xff0c 为了解决走了完了 xff0c 也让我更了解VS的Release和Debug VS的2015的Debug需要在属性 链接器 输入 附加依赖器里面写的是python37 d lib 而Relase里写的是pyt
  • vs 设置起始页不见了_VS2015,为什么模板不见了,请教

    安装Visual Studio 2015之后 xff0c 您无法解决选择NET Framework的问题 安装后无法选择Visual Studio 2015 NET Framework问题解决在安装vs之后 xff0c 我们经常会遇到这样的
  • VS2015 插件

    Visual Assist 代码颜色 xff0c 关键字高亮 Inden Guides Mode 缩进辅助线 FeinBrace 括号跳转 Toggle Comment 快速注释 解除注释
  • VS2015断点调试方法

    备注 xff1a 部分图片 xff08 打马赛克的 xff09 转自百度 xff0c 侵删 xff01 果真被和谐了 xff0c 大家还是看这个网页吧 xff1a https jingyan baidu com album e75057f2
  • VS2015远程连接虚拟机

    目录 一 安装VC Linux exe 二 打开VS 选择新建项目 三 配置VS 四 创建项目 一 安装VC Linux exe 下载地址 xff1a 二 打开VS 选择新建项目 三 配置VS 打开VS xff0c 菜单栏点击工具 gt 选
  • c语言scanf错误c4996,VS2015怎么解决scanf函数的C4996错误?

    Visual Studio简称VS VS是一个基本完整的开发工具集 xff0c 包含了许多与编程有关的工具 如果你使用过VC6 0 xff0c 那么对基本输入函数scanf 一定不会陌生 但是在VS的环境下scanf直接使用会在生成解决方案
  • windows10 驱动开发环境 VS2019+WDK10

    windows10 驱动开发环境 1 下载SDK https developer microsoft com zh cn windows downloads windows 10 sdk 通用驱动demo xff1a https githu
  • VS2015 调试代码时写入位置时发生访问冲突

    前一段时间写一个工程 xff0c 调用自己写的一个库 xff0c 编译成功 xff0c 执行时发生了访问冲突 xff1b 当时觉得很好奇 xff0c 这个库不是第一次调用 xff0c 之前调用过很多次都没有问题 xff0c 偏偏这次出现了访
  • Yolov3+C+++opencv+VS2015成功检测

    nbsp 前言 nbsp nbsp nbsp 最近在用yolov3进行目标检测 也有一个多星期了 想把最近做出的一些成果记录下来 供大家参考下 我的运行环境是C opencv VS2015 yolov3 下面将简单介绍下yolo的一些思想
  • 链接库介绍

    什么是库 计算机中 有些文件专门用于存储可以重复使用的代码块 例如功能实用的函数或者类 我们通常将它们称为库文件 简称 库 Library 以 C 语言为例 如下展示一个函数库 myMath c int add int a int b re
  • 固高运动控制卡QT和VS(MFC)的配置

    一 QT配置 第一步 将需要的文件保存在项目下 gts h gts dll gts lib 第二步 将 gts h 加入项目 第三步 在pro文件中添加 lib文件 添加外部库后 代码为 如果不对自己导入外部库即可 win32 LIBS L
  • QT入门级小项目(vs2015+qt designer混合编程)

    划重点 在vs里面使用c 和qt designer开发一个动态计算加法的小工具 最近想做一个界面 而且QT也是自己一直想学的东西 于是就查了一下python qt和c 与Qt开发的方法 这篇文章就是使用c 开发QT界面 网上关于QT的开发文
  • VS2015编译boost,并进行使用

    VS2015编译boost 并进行使用 1 到官网下载最新的boost www boost org 这里我下载的1 68版本 2 安装 解压后运行bootstrap bat文件 稍等一小会就OK 3 编译boost库 注意一定要使用VS20
  • SOIL在VS2015搭建

    这是SOIL库的主页 http www lonesock net soil html 下载好解压 进project vc9 用Vs打开项目 编译记得用release 如果用的OPengl是64位的就用64位编译 不然生成的lib不能用 运行
  • Win10 64bit系统中VS2015与OpenCV3.2配置开发环境

    1 将OpenCV解压到D盘根目录 个人认为纯英文目录比较保险 2 VS2015建立控制台工程 设置为64位debug开发环境 3 配置工程属性 在可执行目录 executable directories 中 确认已包含opencv包里的b

随机推荐

  • 【第六章:常用工具命令】第25节:常用命令 - Git命令

    大家好 前面两节我们分别介绍了Linux和Maven的常用命令 本小节中 我们继续介绍版本控制工具Git的相关知识点及其常用命令 Git是一个优秀的版本控制管理工具 可以帮助我们进行代码版本的管理 目前是市场上主流的版本管理工具 如果你拥有
  • 一种灵活的活动中前后端配置数据交互方式

    技术问题 xff1a 在活动中一般会有非常频繁的配置类数据 xff0c 这些数据基本上不包含具体的业务处理逻辑 xff0c 多数是为了前端渲染活动页面使用 传统的前后端交互中 xff0c 往往是前端需要某些配置类数据 xff0c 然后服务端
  • 【第七章:高频算法】第26节:高频面试算法 - 基础(上)

    大家好 很高兴我们可以继续学习交流Java相关面试题目 本小节开始 我们主要进行高频算法题目的讲解 手撕算法 应该算是技术岗位最通用的面试题目了 在各大公司的面试中 有一个最基本的要求 那就是必须写点代码 技术面试一般情况下可以归纳为三大块
  • 【第七章:高频算法】第27节:高频面试算法 - 基础(下)

    大家好 很高兴我们可以继续交流学习算法相关的面试题 在上一小节中 我们主要对排序与查找算法 常见链表以及二叉树的面试题目进行了分析与交流 在本小节中 我们主要对队列 堆栈 字符串与数组等知识点进行交流 针对各个知识点最高频的面试题目来进行解
  • laravel 导出文件乱码解决

    最近做导出功能 xff0c 发现导出的文件名出现乱码 查阅资料发现 xff0c 头部没有统一的编码 xff0c 需要对不同的浏览器做兼容处理 在此记录一下 xff0c 解决方法 xff0c 可以参考一下 修改下载导出的头部信息 functi
  • 【第八章:设计模式】第28节:面试常考设计模式 (上)

    大家好 从本小节开始我们一起交流常用的设计模式 设计模式是一种思想 并不是一门具体的技术 没有很多的工作积累是不可能真正理解设计模式的 本专刊中的设计模式章节 我们重点阐述面试中常见的设计模式的原理与使用 设计模式就是在软件开发过程中所总结
  • 【第八章:设计模式】第29节:面试常考设计模式(下)

    大家好 本小节中我们继续交流学习常见的设计模式 在上一小节中 我们介绍了设计模式的六大原则 并且重点阐述了单例模式的多种写法 单例模式也是为数不多的可以在面试中直接 手撕 的设计模式 除了单例模式外 在面试中考察的其余常见设计模式一般都不会
  • 【第九章:面试分享】第30节:应聘者角度分享面经与面试秘籍

    大家好 非常感谢大家可以和我一起进行交流学习 在前面8个章节中 我竭尽所能的对Java开发岗的常见重要知识点进行了梳理总结 力争用最通俗易懂的语言表达出来 使得大家可以轻松掌握其技术原理 在第九章中 我将进行一些面试分享 本小节中 我将和大
  • 【第九章:面试分享】第31节:面试官角度分享面试与学习方法

    大家好 上一小节我们分享了一些真实的实习和校招面经 并且讲述了作为应聘者如何高效准备和应对面试 本小节 我转变身份 站在面试官的角度来分享总结面试 本小节的主要内容如下 面试中 大多数应聘者是如何表现的 作为面试官的我如何考察应聘者 一些重
  • 【加餐篇:社招分享】第32节:工作两年,大厂社招Offer拿到手软

    大家好 在专刊初版完结多日之后 我们又见面了 本专刊的主题是Java开发岗位高频面试题解析 力争从多个知识模块上进行总结 以一种全而精的方式来给大家介绍相关知识点以及其实现原理 回答话术等 相信本专刊对于大家的学习与面试都有一个很大的帮助
  • Git:一文阐述常见命令的使用

    前言 为什么写这篇Git文章 xff1f 在日常的需求开发中 xff0c 发现部分同学不太熟悉Git命令 xff0c 往往是通过idea自带的一些工具来执行简单的Git命令 xff0c 遇到一些突发问题的时候 xff0c 往往不知所措 简单
  • 一种通用的静态资源发布方法

    技术问题 xff1a 在日常的用户页面中 xff0c 往往会存在一些常见问题页面 常见问题页面一般情况下分类 分条目的阐述当前用户侧容易遇到的一些问题 一般情况下 xff0c 问题会比较固定 xff0c 其对应的回答或者解释也比较固定 xf
  • 【回归贴】同志们,阔别三年,我回来啦~

    背景 熟悉的感觉 xff0c 接近三年没有好好写博客了 xff0c 因为各种各样的事情吧 在20年初跳槽到当前公司后 xff0c 因为工作繁忙等各种原因 xff0c 我几乎要放弃了写作 但是 xff0c 人不可能一直呆在舒适圈 xff0c
  • Java同步集合synchronizedX中的迭代器Iterator使用,为什么需要使用者加锁?

    xff08 尊重劳动成果 xff0c 转载请注明出处 xff1a https yangwenqiang blog csdn net article details 129472842冷血之心的博客 xff09 前言 大家好 xff0c 我是
  • 从帝王之术中窥探天机

    前言 闲来无事 xff0c 过年期间追上了一部古老的大型古装历史电视连续剧 朱元璋 xff0c 由冯小宁执导 xff0c 胡军 剧雪 郑晓宁 鄂布斯等主演的历史题材电视剧 曾经看过陈道明主演的 康熙王朝 xff0c 也看过唐国强主演的 雍正
  • Gin框架 ShouldBindJSON详解

    为什么第二次使用ShouldBindJSON就失效了呢 今天debug看了下 xff0c 主要是 http Request的io buffer第一次取完之后 xff0c http body 结构体中的sawEOF 61 true 第二次去读
  • linux c语言 线程资源释放

    最近做了多线程并发网络编程的时候出现了一个问题 程序在运行的过程中 占用的内存会越来越大 起初我怀疑是程序有指针没有被 free 导致内存泄漏 在查代码的过程中我发现 xff0c 我并没有手动收回创建的线程资源 通过上网查阅linux线程资
  • 三十五、PHP7 MongDB 扩展安装与使用

    在前面的章节中我们学习了 MongoDB PHP 扩展使用范例 xff0c 不过那篇文章只能针对 PHP5 使用 xff0c PHP7 以上版本则需要使用其它的 PHP MongoDB 扩展 PHP7 Mongdb 扩展安装 假设我们的 P
  • Linux 创建和回收swap分区

    1 查看当前内存使用情况 xff1a free m 2 增加swap分区 xff0c 8G dd if 61 dev zero of 61 swap bs 61 1024 count 61 8192000 swap文件可以放在空间比较大的盘
  • VS2015 + WDK10

    前几天刚刚用VS2008配置好了WDK7600 xff0c 各种配置 xff0c 又是修改项目包含文件目录和库目录 xff0c 还要修改项目属性 xff0c 折腾了半天debug下终于生成了 sys文件 xff08 驱动文件 xff09 x