MFC 驱动加载工具(安装/运行/停止/卸载)

本文介绍了驱动加载的基础知识,包括驱动的作用和组成。通过MFC实现驱动加载流程,详细讲解了加载、运行、停止和卸载NT驱动的四个步骤,并提供了对应函数的代码实现。在实践中应注意释放句柄和避免操作系统驱动,以免导致蓝屏等问题。

目录

题外话

一、了解驱动

二、驱动加载流程

2.1 加载和卸载NT驱动的4个步骤

2.2 对应函数实现流程和代码

三、一些注意事项


题外话

虽然网上已经有很多驱动加载工具和相关代码,但自己实现一次有助于理解如何使用代码实现驱动加载。因此本篇文章只是一个学习总结。再说点题外话,不管之前耗费多久时间完成一个项目,事后最好写个总结,后期可以自己翻翻,重温一下~因为我之前完成任何一个项目,都是不懂就搜,但下次遇到相同问题时还是得上网搜(⊙o⊙)…所以想试试这种总结方法会不会让我下次遇到相同问题就不要搜百度,来搜自己博客就好啦~O(∩_∩)O哈哈~

罗里吧嗦了一堆,那开始进入正题吧!(〃'▽'〃)

一、了解驱动

如果对驱动已经有了初步的认识的同学可以跳过这部分~因为我当时是对“驱动”这个概念有点懵d(´ω`*)所以这里做个简单介绍,目的是加深自己对驱动的理解~

驱动程序是一个软件组件,可让操作系统和设备彼此通信。即驱动程序是设备驱动程序,是一种可以使计算机和设备通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。如下图所示:

驱动文件一般由扩展名 CAT、 INF、 SYS、 DLL 等文件格式组成的。

二、驱动加载流程

编写代码加载驱动的原理相当于在注册表中写入相应的字段,因此设备驱动程序的动态加载主要由SCM(服务控制管理程序)系统组件完成。

2.1 加载和卸载NT驱动的4个步骤

Step1:安装——为NT驱动创建新的服务:LoadNTDriver(自定义的函数名)

Step2:运行——开启该服务:StartNTDriver(自定义的函数名)

Step3:停止——关闭此服务:StopNTDriver(自定义的函数名)

Step4:卸载——删除NT驱动所创建的服务:UnLoadNTDriver(自定义的函数名)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>软件名称:驱动加载工具(InstDrv - 中文版)软件版本:V1.3版软件类型:个人免费版(无插件)运行环境:Windows操作系统开发作者:Coderui更新日期:2008年04月18日联系邮箱:coderui@163.com作者博客:http://hi.baidu.com/coderui>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-------------------------------------------------介绍:  该软件和网上大家常用的“InstDrv”程序功能几乎一样,现在也支持[命令行控制台]调用了,只是新加入了详细的中文提示信息和拖拽打开文件等,这样可以方便用户的使用。“InstDrv”是一个比较好用的驱动安装卸载工具。可以帮助您方便的把驱动程序安装上或卸载掉。本程序更多应用于动态调式驱动前的加载操作中。功能:1:执行加载、启动、停止卸载驱动操作。2:支持文件拖拽打开。3:支持程序窗口总在最前显示。4:操作后有详细的中文提示信息。5:支持[命令行控制台]调用。6:提升程序自身的权限和优先级。说明:压缩包中的“MySYS.sys”文件为测试驱动程序,支持加载、启动、停止卸载驱动等功能,可以使用“Dbgview”工具查看驱动输出的提示信息。-------------------------------------------------详细的中文提示信息如下:状态:支持拖拽获取文件路径.状态:只能一次拖拽一个文件!状态:拖拽获取文件路径成功!状态:请输入驱动文件的路径名!状态:创建句柄失败!状态:因为不是一个有效文件,所以驱动服务安装失败!状态:因为驱动服务已经存在,所以驱动服务安装失败!状态:因为驱动服务已经启动,所以驱动服务安装失败!状态:驱动服务安装失败!状态:驱动服务安装成功!状态:打开驱动服务失败,可能该驱动服务不存在!状态:驱动服务启动成功!状态:因为驱动服务已经启动,所以驱动服务启动失败!状态:因为不是一个有效驱动,所以驱动服务启动失败!状态:因为驱动服务未被停止,所以驱动服务启动失败!状态:驱动服务启动失败!状态:驱动服务停止成功!状态:因为驱动服务没有启动,所以驱动服务停止失败!状态:驱动服务停止失败!状态:驱动服务卸载成功!状态:因为驱动服务已经启动,所以驱动服务卸载失败!状态:驱动服务卸载失败!状态:提升进程权限失败!状态:提升进程优先级失败!-------------------------------------------------[命令行控制台]调用参数:InstDrv [/i] [/u] [/s] [驱动程序路径名]/i 安装并启动这个驱动程序./u 停止卸载这个驱动程序./s 不弹出任何消息提示窗口.注意:带有空格的路径,请用双引号把路径括起来.-------------------------------------------------下载说明:如果当前网页连接地址下载不了该软件,您可以发送邮件到coderui@163.com中,向程序作者所要该软件,谢谢您的支持!-------------------------------------------------解压后EXE程序全文MD5校验值为:6f356e16020902a77d57fa44ff21c387专用MD5校验器程序下载地址为:http://hi.baidu.com/coderui/blog/item/e3a1282354c128519822ed24.html>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值