NT式驱动程序的加载

1. 用DriverMonitor工具加载NT式驱动

2. 在注册表中填写相应的字段,Windows对NT式驱动程序的加载,是基于服务的方式加载的,类似于Windows服务程序的加载。设备驱动程序的动态加载主要是基于服务控制程序(Service Control Manager,SCM)系统组件完成的。

SCM组件为Windows中运行的组件提供许多服务,例如,启动,停止,控制等服务。服务类似于Linux中的守护进程。编写加载驱动程序,主要是操作SCM组件。


WDM式驱动程序的加载

和NT是驱动程序的不同,WDM式驱动程序不能被当做服务程序进行加载,因此不能靠简单的修改注册表来进行加载。WDM式驱动程序的加载需要依靠一个以INF为后缀名的文本文件来描述驱动程序的加载过程。

WDM驱动程序相比较NT式驱动程序增加了即插即用的功能,因此在安装的时候需要一个INF文件来提供支持以提供必要的信息。

系统首先会定位INF文件,根据INF文件上的指示,系统会将驱动程序(sys文件)相关的文件拷贝到相应的系统目录下,修改相应的注册表。同时通知PnP管理器,I/O管理器创建新设备,并执行驱动程序的入口函数DriverEntry,INF文件提供了WDM驱动程序所需要的所有信息,包括需要新建和修改的注册表和需要拷贝的文件等。

Windows驱动程序的加载相关推荐

  1. 【系统】windows2003 至少有一个服务或驱动程序无法加载或错误

    不知道怎么搞的,电脑上装的 windows 2003 每次安装了程序卸载后,开机时总会提示 "至少有一个服务或驱动程序无法加载或错误",弄的我很郁闷.在网上找了很多解决的办法.感觉 ...

  2. windows常见的加载错误的3个解决办法

    windows常见的加载错误的3个解决办法 作者:系统达人 来源:http://www.dnxp.net 当在系统中频繁安装和卸载一些应用程序,或者频繁对系统进行杀毒操作的话,系统在日后的启动过程中可 ...

  3. Server2003 开机显示引导或系统启动驱动程序无法加载

    现象: Windows Server 2003 SP2系统,启动后提示: 下列引导或系统启动驱动程序无法加载: HWiNFO32 原因: 该系统安装过驱动精灵,卸载驱动精灵后注册表有残余服务键值. 解 ...

  4. Windows Dll 动态加载

    Windows DLL 动态加载 1. 起因 2. 问题原因 3. 解决 3.1 C++ 版 3.2 C#版 1. 起因 写代码的时候,需要动态加载DLL,这是一个非常非常常规的操作对吧.然而在开发的 ...

  5. Microsoft Corporation 去掉 windows 修改 启动加载 版权

    windows 修改 开机界面 boot启动界面 windows 修改 启动加载 版权 windows 系统如何修改开机画面的版权文字"Microsoft Corporation ... ◎ ...

  6. 系统错误:下列引导或系统启动驱动程序无法加载: HWiNFO32

    下列引导或系统启动驱动程序无法加载: HWiNFO32 这个问题出现要分为两种情况:①有装HWiNFO32软件 ②没装HWiNFO32软件 ①曾经安装过HWiNFO32软件 HWiNFO32是一个专业 ...

  7. Windows未正确加载怎么办?

    Windows未正确加载的原因 Windows未正确加载的错误通常出现于您尝试重新启动系统时,是一类较为普遍的错误,您可能会收到诸如:Windows似乎未正确加载.你的电脑未正确启动等错误提示. 造成 ...

  8. matlab 读取voi文件,VOI虚拟化下的Windows网卡驱动加载方法与流程

    本发明涉及计算机技术领域,特别涉及VOI虚拟化下的Windows网卡驱动加载方法. 背景技术: 在VOI虚拟化方案中,首先需要确保网卡驱动能够提前加载到系统中,才能够实现通过网络来引导操作系统启动.现 ...

  9. 电脑频繁蓝屏:下列引导或系统启动驱动程序无法加载: kavbootc解决办法

    经过网上查询发现是金山毒霸驱动kavbootc无法加载导致,而自己只有第一次安装系统的时候附带有金山毒霸,后面卸载不再使用. 通过文件查询到kavbootc文件位置,删除后,还是会蓝屏. 最后解决办法 ...

最新文章

  1. Python | 除法
  2. 数据库连接python_python连接数据库
  3. IE或Chrome浏览器玩Xbox游戏能实现吗
  4. php 截取某个字符,PHP_php截取指定2个字符之间字符串的方法,本文实例讲述了php截取指定2个 - phpStudy...
  5. 利用IDEA创建hadoop文件
  6. java用于保存登录对象怎么写,利用对象流模仿登陆注册功能——Java对象流应用...
  7. [高级软件调试方法] SoftProbe调试方法及实现
  8. 《java入门第一季》之面向对象(static关键字内存图解)
  9. SpringBoot读取自定义配置文件
  10. 线性分类器三种最优准则
  11. ThoughtWorks 2019届校招算法、软开迷宫(maze)生成题目
  12. 嵌入式MRZ机读码OCR识别电子护照阅读器模块|模组安装与测试注意事项
  13. C1任务01-植物大战僵尸修改游戏存档(小白也能看懂)
  14. 李有志——预谋着向生活发起冲锋...
  15. hathitrust 下载工具 (大量英文原版名著扫描免费下载)
  16. 正式成为 Apache Teaclave 子项目,百度安全 Rust TrustZone SDK 赋能多平台隐私安全计算开源生态
  17. OpenResty 连接Redis
  18. 最TOP小程序排行榜出炉
  19. 深入理解volatile(Java)
  20. git am冲突问题解决方法

热门文章

  1. linux 切换root账号_Linux 服务器的安全保障,看看这些
  2. JAVA进阶教学之(序列化和反序列化)
  3. IOC容器(底层原理解读)
  4. JAVA入门级教学之(关系运算符)
  5. axure html 360安装扩展,win10系统360浏览器添加Axure扩展的操作方法
  6. php 巧用逻辑运算符,php的神奇逻辑运算符
  7. js br不生效_前端标注工具-AILabel.js
  8. 你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式
  9. easyvision视觉软件 源码_一对一直播源码都有哪些独具一格的优势?
  10. android 截图 listview,Android屏幕及view的截图实例详解