1、从 GitHub 下载并解压缩 KMDF Echo 示例

在此处浏览所有的通用驱动程序示例:

https://github.com/Microsoft/Windows-driver-samples

KMDF Echo 示例位于 general 文件夹中。

a.对于本实验,我们将以压缩文件的形式下载通用驱动程序示例。

https://github.com/Microsoft/Windows-driver-samples/archive/master.zip

b. 将 master.zip 文件下载到本地硬盘驱动器中。

c. 右键单击 Windows-driver-samples-master.zip,然后选择“全部解压缩”。指定新的文件夹,或浏览到一个现有文件夹以存储已解压缩的文件。例如,你可以将 C:\DriverSamples\ 指定为要在其中解压缩文件的新文件夹。

d.解压缩文件后,请导航到以下子文件夹。

C:\DriverSamples\general\echo\kmdf

2、在 Visual Studio 中打开驱动程序解决方案

在 Microsoft Visual Studio 中,依次单击“文件”>“打开”****>“项目/解决方案...”,然后导航到包含已解压缩文件的文件夹(例如,C:\DriverSamples\general\echo\kmdf)。双击 kmdfecho 解决方案文件以打开它(或者直接用VS打开kmdf下的kmdfecho.sln文件)。

在 Visual Studio 中,找到“解决方案资源管理器”。(如果尚未打开,请从“视图”****菜单中选择“解决方案资源管理器”。)在“解决方案资源管理器”中,你可以看到一个具有三个项目的解决方案。

3、设置示例的配置和平台

在“解决方案资源管理器”中,右键单击“解决方案‘kmdfecho’(3 个项目)”,然后选择“配置管理器”****。请确保配置和平台设置与四个项目相同。默认情况下,在所有这些项目中都将配置设置为 "Win10 Debug",而将平台设置为 "Win64"。如果你对其中一个项目做了任何配置和/或平台更改,则必须对剩余三个项目做相同的更改。

  1. 设置运行时库

    设置运行时库 - 将运行时库的版本从 DLL 版本更改为非 DLL 版本。如果没有此设置,则必须将 MSVC 运行时单独安装到目标计算机。

  2. 检查驱动程序签名

    打开 Echo 驱动程序的属性页,并确保“驱动程序签名”>“签名模式”****已设置为“测试签名”。之所以必须这样做,是因为 Windows 要求对驱动程序进行签名。

  3. 使用 Visual Studio 生成示例

    在 Visual Studio 中,依次单击“生成”>“生成解决方案”****。

    如果一切正常,生成窗口将显示一条消息,指示所有这三个项目均已成功生成。

  4. 查找生成的驱动程序文件

    在文件资源管理器中,导航到包含该示例的已解压缩文件的文件夹。例如,如果 C:\DriverSamples\general\echo\kmdf 是你前面指定的文件夹所在的路径,则导航至该路径。在该文件夹内,已编译的驱动程序文件的位置会有所不同,具体取决于“配置管理器”中选定的配置和平台设置。例如,如果让默认设置保持不变,则编译的驱动程序文件将针对 64 位调试版保存到名为 \x64\Debug 的文件夹中。

    导航到包含 Autosync 驱动程序的生成文件的文件夹:

    C:\DriverSamples\general\echo\kmdf\driver\AutoSync\x64\Debug。该文件夹应包含以下文件:

    文件 说明
    Echo.sys

    驱动程序文件。

    Echo.inf

    包含安装驱动程序所需信息的信息 (INF) 文件。

    kmdfsamples.cat

  5. 此外,还将生成 echoapp.exe 文件,可在此处找到它:C:\DriverSamples\general\echo\kmdf\exe\x64\Debug

    文件 说明
    EchoApp.exe

    命令提示符可执行测试文件,用于与 echo.sys 驱动程序通信。

  6. 找到 USB 便携驱动器或设置网络共享,以将生成的驱动程序文件和测试 echoApp.exe 从主机复制到目标计算机系统。

在下一部分中,将代码复制到目标计算机系统中,然后安装和测试驱动程序。

4、在目标计算机系统上安装 KMDF Echo 驱动程序示例

在第 4 部分中,你将使用 Devcon 来安装 Echo 示例驱动程序。

-> 在目标计算机系统上

安装驱动程序的计算机称为*“目标计算机”“测试计算机”。通常,此类计算机独立于开发和生成驱动程序包的计算机。开发和生成驱动程序的计算机称为“主计算机”*。

将驱动程序包移至目标计算机并安装该驱动程序的过程称为“部署”**驱动程序。可自动或手动部署示例 Echo 驱动程序。

手动部署驱动程序之前,必须通过打开测试签名准备目标计算机。还需要在 WDK 安装中找到 DevCon 工具。完成该操作后,你便可以随时运行生成的驱动程序示例了。

通过执行以下步骤在目标计算机系统上安装驱动程序。

  1. 准备目标计算机

    以管理员身份打开命令提示符窗口。然后,输入以下命令:

    bcdedit /set TESTSIGNING ON

    重新启动目标计算机。

  2. <- 在主机系统上

    导航至 WDK 安装中的 Tools 文件夹,并找到 DevCon 工具。例如,查找以下文件夹:

    C:\Program Files (x86)\Windows Kits\10.0\Tools\x64\devcon.exe

    在目标计算机上为生成的驱动程序包创建文件夹(例如,C:\EchoDriver)。从主计算机上前面描述的生成驱动程序包中复制所有文件,并将这些文件都保存到在目标计算机上创建的文件夹中。

    在主计算机系统上找到 .cer 证书,该证书位于与该计算机上包含生成驱动程序文件的文件夹相同的文件夹中。在目标计算机上,右键单击证书文件,并单击“安装”,然后按照提示安装测试证书。

  3. -> 在目标计算机系统上

    安装驱动程序

    以下说明向你演示了如何安装和测试示例驱动程序。下面是关于将用于安装驱动程序的 devcon 工具的一般语法:

    devcon install <INF file> <hardware ID>

    安装此驱动程序时需使用的 INF 文件为 echo.inf。该 inf 文件包含用于安装 echo.sys 的硬件 ID。对于 Echo 示例,硬件 ID 为 root\ECHO

    在目标计算机上,以管理员身份打开“命令提示符”窗口。导航到你的驱动程序包文件夹,然后输入以下命令:

    devcon install echo.inf root\ECHO

    如果你收到一条错误消息,指示 devcon 未被识别,请尝试将该路径添加到 devcon 工具。例如,如果将它复制到名为 C:\Tools 的文件夹中,请尝试使用以下命令:

    C:\tools\devcon install echo.inf root\ECHO

    此时将显示一个对话框,指示测试驱动程序为未签名的驱动程序。请单击“Install this driver anyway”以继续操作。

    有关更详细的说明,请参阅配置计算机以进行驱动程序部署、测试和调试。

    成功安装示例驱动程序后,可随时对其进行测试。

  4. 在设备管理器中查看驱动程序

    1. 在目标计算机的“命令提示符”窗口中,输入 devmgmt 以打开“设备管理器”。在“设备管理器”的“视图”菜单上,选择“依类型排序设备”。在设备树的“示例设备”节点中,找到示例 WDF Echo 驱动程序

  5. 测试驱动程序

    双击运行 echoapp.exe 启动测试 Echo 应用,以确认该驱动程序可正常运行。

    C:\Samples\KMDF_Echo_Sample> echoapp
    DevicePath: \\?\root#sample#0005#{cdc35b6e-0be4-4936-bf5f-5537380a7c1a}
    Opened device successfully
    512 Pattern Bytes Written successfully
    512 Pattern Bytes Read successfully
    Pattern Verified successfully
    30720 Pattern Bytes Written successfully
    30720 Pattern Bytes Read successfully
    Pattern Verified successfully

==========================================================

安装驱动程序的计算机称为*“目标计算机”或“测试计算机”。
通常,此类计算机独立于开发和生成驱动程序包的计算机。

1、以管理员身份打开命令提示符窗口。然后,输入以下命令:
bcdedit /set TESTSIGNING ON
重新启动目标计算机。

2、在目标计算机上为生成的驱动程序包创建文件夹(例如,C:\EchoDriver)。
从主计算机上前面描述的生成驱动程序包中复制所有文件(inf、sys、cat、cer)
以及 devcon.exe(WDK 安装中的 Tools 文件夹) 工具,
并将这些文件都保存到在目标计算机上创建的文件夹中。

3、在目标计算机上,右键单击.cer证书文件,并单击“安装”,然后按照提示安装测试证书。

4、安装驱动程序的 devcon 工具的一般语法:devcon install <INF file> <hardware ID>

inf 文件包含用于安装 .sys 的硬件 ID。对于 Echo 示例,硬件 ID 为 root\ECHO。

在目标计算机上,以管理员身份打开“命令提示符”窗口,
导航到你的驱动程序包文件夹,然后输入以下命令:
devcon install echo.inf root\ECHO

5、重启计算机。

-----------------------------------------------------------------------------

cd    这里填绝对路径
devcon.exe install echo.inf   root\ECHO
pause

WDF 驱动程序echo安装相关推荐

  1. 学习构建WDF驱动程序 - 初步了解SOURCE和makefile文件

    接此:https://blog.csdn.net/bcbobo21cn/article/details/112074021 在WDK的示例目录下构建出一个.sys驱动程序: 下面来构建自己的驱动程序: ...

  2. 从零开始学习Windows WDF驱动程序开发

    摘要:本文通过简单的例子和精简的说明,带你快速了解和掌握基于WDF架构的Windows驱动程序的开发过程.WDF自带的文档非常详细而且冗长,读者需要一定的编程基础和英语水平,再加上一定的努力,才能看明 ...

  3. 在计算机上打印机驱动程序,如何安装打印机驱动程序,小编教你如何给电脑安装打印机驱动程序...

    前几天,有用户问小编什么是打印机驱动?所谓打印机驱动程序是指电脑输出设备打印机的硬件驱动程序.打印机驱动有作用呢?它是安装系统与硬件之间的纽带.只有安装了打印驱动程序,电脑才能和打印机进行连接并打印. ...

  4. 找不到 Microsoft Excel Driver ODBC 驱动程序的安装例程 解决方案

    找不到 Microsoft Excel Driver ODBC 驱动程序的安装例程的原因是缺少相应的驱动程序, 戳这里下载驱动程序, 下载完成后安装驱动程序即可解决该问题.

  5. 计算机安装Hp1005打印机,如何安装hp1005打印机驱动程序_安装步骤是什么

    在许多打印机品牌中,HP品牌对消费者的影响很大. 对于消费者而言,购买打印机时,HP打印机通常成为一致的选择. 如果希望打印机正常工作,则必须安装打印机驱动程序. 如何安装hp1005打印机驱动程序? ...

  6. Win7、Win8、Win10系统USB-Blaster驱动程序无法安装的解决办法

    这篇博文是我转载dezhihuang的博文,原文名称和地址如下,并对内容做了适当调整: [原]Win7.Win8系统USB-Blaster驱动程序无法安装的解决办法 第一次用Markdown编辑博客, ...

  7. Access 和vc6.0 相连,在我indows64 位系统中,出现找不到Microsoft Access Driver(*.mdb) ODBC驱动程序的安装例程。请重新安装驱动

    今天要连接Access时发现win7 64位旗舰版控制面板中管理工具下的数据源(ODBC)配置竟然只有SQLServer的驱动,其他的都没有了,这可不好玩!上网百度了一番,有人也遇过这样的问题,我在此 ...

  8. 【找不到SQL Server ODBC 驱动程序的安装例程】的解决

    本文转载自:http://blog.sina.com.cn/s/blog_544f183101011m2u.html 今天公司的一台应用服务器在使用时突然报"无法加载SQL Server O ...

  9. 如何计算机网络打印机驱动程序,如何安装打印机驱动程序,教您如何给电脑安装打印机驱动程序...

    打印机,已经成为办公的必要的设备之一了,平时用来打印资料,文件,单据等等,大大的方便了我们的使用,但是很多人的用户对安装打印机驱动程序不太了解,如何操作安装呢?下面,小编就来跟大家解说一下如何给电脑安 ...

  10. 小米手机linux驱动怎么安装,小米手机驱动程序怎么安装(为刷机准备)图文步骤...

    小米手机想要线刷的话必须要先装手机驱动,是刷机过程中十分重要的一步,也是很多机友容易出线问题的地方.仅仅用一条USB线是不能实现手机和电脑的信息交流的,还需要驱动. 驱动安装是线刷和开启USB调试来操 ...

最新文章

  1. 计算机本科211调剂到双非值得吗,经验分享:从双非到211,调剂是场快准狠的战役...
  2. python英语单词-干货|3天教你掌握Python必备常用英语词汇
  3. 【OFDM频域同步】基于OFDM数字电视地面广播系统中频域同步技术matlab仿真
  4. win7怎么修改服务器端口,win7服务器端口设置方法
  5. 不同网站不同网卡_弄清高端网站建设的独特不同之处才能做好网站
  6. 浪潮通信收入_浪潮获2019大数据“星河(Galaxy)”奖
  7. 从零开始学安全(二十三)●用PHP编写留言板
  8. SSL自签署证书生成脚本
  9. (转)MapReduce源码分析总结
  10. 计算机在机械设制造中的应用实例,三维设计软件和技术在机械设计中的应用
  11. STC单片机程序下载实战
  12. Ubuntu打开wps文件缺少字体
  13. zookeeper-集群-选举机制
  14. 支付宝,微信付款码正则表达式
  15. Tracup丨什么是敏捷产品管理?
  16. 逻辑思维题及答案解析
  17. 一致 先验分布 后验分布_先验概率、似然函数与后验概率
  18. CCD相机与普通相机的区别
  19. Oracle数据库建表 Oracle数据库的统一命名与编码规范
  20. 南理工计算机学院老师联系电话,於东军(计算机科学与技术学院)老师 - 南京理工大学 - 院校大全...

热门文章

  1. 数据运营是什么?该如何做?
  2. ffmpeg 命令行多视频轨/音频轨合并,播放
  3. python短文本数据集的关联性_短文本分析----基于python的TF-IDF特征词标签自动化提取...
  4. 计算机网络概述上海电力,上海电力大学2021考研复试计算机网络考试大纲
  5. word如何弄成两竖列_Word中怎么将文字改成竖排显示
  6. 飞鱼星测试软件,飞鱼星VE984GW+
  7. 河北工业大学开发能力训练之测风数据处理(一)
  8. Web Polygraph (WebAxe-4) 测试反向代理缓存服务器
  9. 慕尼黑大学计算机研究生申请,慕尼黑大学读研
  10. python2 python3 print_python2和python3中print有什么区别