CreateService的dwStartType 形参 有几个选项值
SERVICE_BOOT_START SERVICE_AUTO_START SERVICE_SYSTEM_START  
我们一般都只用SERVICE_DEMAND_START
那么其他几个值的含义呢? 参考MSDN

windows驱动加载顺序:
1. 判断StartType,依次按SERVICE_BOOT_START(0),SERVICE_SYSTEM_START(1), SERVICE_AUTO_START(2)顺序自动加载

如360的HookPort驱动 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\HookPort

其start键值为0 即SERVICE_BOOT_START

2.如果是同一个start的类型则按GroupOder加载 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder

HookPort的 grouporder是Boot Bus Extender

3. 如果grouporder也相同,那么按Tag值在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList列表里面的顺序加载


系统会根据tag值来排定加载顺序

可以看到Hookport加载的时机是非常早的,这个时候文件系统还没加载,系统只能访问少数几个路径
所以驱动要放在%root%\system32\drivers\下
PS:Tag对驱动加载的顺序只是微调

如果想做到驱动加载得比HookPort更早,那么可以同样设置驱动为boot bus extender类型,同时在GroupOrderList添加一个tag id,或者直接在ServiceGroupOrder添加一个新组cogito,然后把驱动
设置为cogito 类型,即更改CreateService的 lpLoadOrderGroup 参数。

windows驱动加载顺序相关推荐

  1. Windows驱动(加载驱动)

    之前我们是使用驱动工具加载驱动,本次实验内容是使用代码 实现驱动加载和卸载 加载过程 打开SCM服务管理器 -> 创建驱动服务 -> 启动服务 -> 关闭句柄 //加载驱动 输入 驱 ...

  2. linux设备和驱动加载的先后顺序

    点击打开链接 Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢. Linux系统使用两种方式去加载系统中的模块:动态和静态. 静态加载:将所有 ...

  3. 由于Windows无法加载这个设备所需要的驱动设备,导致这个设备工作异常(代码31)VMware Virtual Ethernet Adapter for VMnet1 or VMnet8

    在这里插入图片描述 由于Windows无法加载这个设备所需要的驱动设备,导致这个设备工作异常(代码31)VMware Virtual Ethernet Adapter for VMnet1 or VM ...

  4. CH340驱动问题,由于 Windows 无法加载这个设备所需的驱动程序,导致这个设备工作异常。 (代码 31)

    -------------------------------------以下是2022.11.8更新 现在可以了,把端口名称换了后(同学告诉我的),刚开始还是不行,换了个单片机烧可以,再换回之前的也 ...

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

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

  6. linux设备驱动——bus、device、driver加载顺序与匹配流程

    文章目录 1. 前言 2. 概念 2.1. 数据结构 2.2. probe函数 3. bus.device.driver加载顺序 3.1. 加载方式 3.2. 加载顺序 4. device.drive ...

  7. JDBC中驱动加载的过程分析

    JDBC中驱动加载的过程分析 作者:kenty  来源:博客园  发布时间:2007-08-20 15:01  阅读:1100 次  原文链接   [收藏]    本篇从java.sql.Driver ...

  8. 征途2无法显示服务器列表,解决win10系统玩征途2提示“DriverCommlnit驱动加载失败”的方法...

    征途2是一款众所周知的角色扮演类游戏,它在玩法上延续了征途1的总体风格,但是在画面和音效上比征途1的要提高了很多,其独特的玩法吸引了众多的玩家.但是又部分用户反映,在win10系统上运行征途2的游戏时 ...

  9. java webinf lib jar_java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序...

    如果是发布到weblogic的话,可以在WebContent\WEB-INF\weblogic.xml里面配置. 参考配置如下: xmlns:xsi="http://www.w3.org/2 ...

  10. mt7601驱动加载

    驱动为 DPA_MT7601U_LinuxSTA_3.0.0.3_20130313.tar.bz2 下载地址http://download.csdn.net/detail/diandianyangyi ...

最新文章

  1. supermap iobect .net 7.1.2 图例的拆分
  2. xcode6.3配置svn,详情教程,小白戳进来。
  3. FrameLayout(帧布局)的基本使用
  4. 使用自定义 HTTP Interceptor 记录 SAP Spartacus 发送的 OCC API 以及响应
  5. 在java中图片随机播放_如何在Java中随机播放列表
  6. nginx php访问日志配置,nginx php-fpm 输出php错误日志的配置方法
  7. ffmpeg编解码详细过程
  8. DLL程序组件Microsoft Reporting Services Barcode Custom Report Item
  9. 斐波那契数列的性质整理
  10. 微软:Nobelium 组织正在发动新一轮软件供应链攻击
  11. JS下载地图离线数据,前端下载谷歌离线地图
  12. 百度网盘提取码_百度网盘提取码查询神器分享
  13. 单设施选址-重心法-Matlab
  14. 用ps提取彩色图像的线稿
  15. mysql mpm_Zabbix Mysql Fpmmm(MPM)监控的教程
  16. 阿里云服务器储存空间不足解决方案
  17. matlab代码:储能参与电能量—辅助服务调频市场联合出清代码
  18. Java毕设项目——人事管理系统(java+SSM+Maven+Mysql+Jsp)
  19. list对象转map stream /去重( 根据属性转Map或者分组)
  20. 2022T电梯修理考试题库及答案

热门文章

  1. scratch编程——一个列表实现经典扫雷游戏
  2. Java定时器cron表达式
  3. 陈新河:软件定义世界,数据驱动未来
  4. vs2010 添加nupkg文件
  5. 网易云音乐歌单解析易语言源码 附带成品软件
  6. 手艺人舍bpftrace而取systemtap的代价和思考
  7. matlab 多维svm分类代码,SVM多分类(matlab)
  8. 归并排序java示例
  9. RFID天线接头分类
  10. 2021年第十八届五一数学建模竞赛题目 C题 数据驱动的异常检测与预警问题 解题论文完整版