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远程连接虚拟机

    目录 一 安装VC Linux exe 二 打开VS 选择新建项目 三 配置VS 四 创建项目 一 安装VC Linux exe 下载地址 xff1a 二 打开VS 选择新建项目 三 配置VS 打开VS xff0c 菜单栏点击工具 gt 选
  • VS2015 + WDK10

    前几天刚刚用VS2008配置好了WDK7600 xff0c 各种配置 xff0c 又是修改项目包含文件目录和库目录 xff0c 还要修改项目属性 xff0c 折腾了半天debug下终于生成了 sys文件 xff08 驱动文件 xff09 x
  • vs2015 qt链接出现MSB3758 MSB4036 这两个错误解决办法

    如果是tohashset缺少using什么的 xff0c 就把 netframework更新到4 8或者 4 7 2以上版本都可以 xff0c 在vs中帮助 gt 最下面的关于 中可以查看 net版本 xff0c 如果不是4 8就更新
  • win10 vs2015 tesseract5.0

    https www cnblogs com hupeng1234 p 8545371 html
  • VS2015 error MSB8020: The build tools for xxx

    问题 VS2015 error MSB8020 The build tools for xxx 问题截图 xff1a 解决方案 xff1a 平台工具集版本不正确 xff0c 更正一下即可 解决方案右键项目属性 gt gt 配置属性 gt g
  • win10 + WDK10+ VS2015 + vmware_win10 驱动开发环境配置

    自从WDK8 1后 xff0c 开发window 驱动不用再用windbg 43 虚拟机调试了 xff0c 我们调试驱动也可以像调试EXE 一样方便 xff0c 下面是win10 主机 43 WDK10 43 VS2015 43 vmwar
  • win10+vs2015+Intel RealSense D435i深度相机配置

    第一步 xff1a Intel RealSense D435i的SDK下载 链接 xff1a https pan baidu com s 1sIDlkbk8U9PFmJLhGJndxg 提取码 xff1a lppa 第二步 xff1a 测试
  • VS2015 插件

    Visual Assist 代码颜色 xff0c 关键字高亮 Inden Guides Mode 缩进辅助线 FeinBrace 括号跳转 Toggle Comment 快速注释 解除注释
  • Ceres-solver安装(win10+vs2015)

    Ceres solver安装 Vs2015 43 win10 文件已经上传至 永久有效 网盘 xff1a https pan baidu com s 1Vj n2Nbp9WFVlbjuXV OxQ 密码 xff1a 3rvo 1 将网盘里的
  • 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 选
  • VS2015下配置海康威视SDK

    1网络摄像头可以在官网下载到SDK开发包 xff0c 进入海康威视官网 xff0c 选择何时的版本 xff0c 点击下载 https www hikvision com cn download 61 html 下载完成进行解压 解压完成 x
  • 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 偏偏这次出现了访
  • ASP.NET MVC 之View相关

    VS2015 新建一个MVC工程 验证改成No Authentication 界面大致如下 得到一个解决方案如下 下面分析一下View ViewBag Title ViewPageOne Layout Views Shared Layout
  • 链接库介绍

    什么是库 计算机中 有些文件专门用于存储可以重复使用的代码块 例如功能实用的函数或者类 我们通常将它们称为库文件 简称 库 Library 以 C 语言为例 如下展示一个函数库 myMath c int add int a int b re
  • error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型

    用VS2015编译从GitHub上下载的一段代码 出现如下的错误提示 error C4146 一元负运算符应用于无符号类型 结果仍为无符号类型 warning C4244 从 double 转换到 float 可能丢失数据 error C4
  • C# -(二)最详细基础语法

    C 基础语法 学习思维导图 一 类型系统 C 有两种类型 值类型和引用类型 值类型的变量直接包含数据 而引用类型的变量则存储对数据 称为 对象 的引用 对于引用类型 两个变量可以引用同一个对象 对一个变量执行的运算可能会影响另一个变量引用的
  • QT调试时报错:Unable to create a debugging engine 解决方案

    QT调试时报错 Unable to create a debugging engine 解决方案 原因 安装VS时没有勾选安装Windows SDK并且安装SDK时默认未勾选Debugging Tools for Windows 解决方法
  • 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