windows驅動載入順序
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載入驅動Windows
- javascript載入順序JavaScript
- java類載入順序Java
- [Web]HTML載入順序WebHTML
- Java父子類載入順序Java
- 頁面載入順序jQueryjQuery
- linux驅動中使用順序鎖Linux
- 影像延遲載入 && 列表圖順序載入
- SpringBoot配置檔案優先順序載入順序Spring Boot
- Python 模組的載入順序Python
- 載入驅動
- js——<script>標籤的載入順序JS
- OC 中非同步順序載入用法非同步
- 按照順序動態載入js檔案簡單介紹JS
- tomcat啟動或,struts2需要載入哪些配置檔案,載入順序Tomcat
- web.xml 檔案 配置載入順序WebXML
- [springboot]配置檔案載入順序Spring Boot
- Spring如何控制Bean的載入順序SpringBean
- java 啟動檢視jar包載入順序並設定classpathJavaJAR
- Windows XP 指定啟動專案的順序(轉)Windows
- RULE模式下是否FROM列表順序決定驅動表模式
- 使用者登入時的環境載入順序
- Script載入順序 & 外部樣式表的阻塞
- 關於jvm載入類的實現順序JVM
- Helloworld 驅動模組載入
- Windows10系統載入ahci驅動程式的方法Windows
- Windows驅動開發入門Windows
- 類script標籤,非同步載入,順序執行非同步
- UITableView停止載入中的動畫的順序問題UIView動畫
- 詳解web.xml中元素的載入順序WebXML
- Javascript在頁面載入時的執行順序JavaScript
- 如何能看到框架檔案動態載入順序與執行情況?框架
- 載入驅動三種execute
- 靜態順序表和動態順序表 對比
- Linux核心驅動程式初始化順序的調整(轉)Linux
- JVM類載入機制與類初始化順序JVM
- iOS,UIViewController和nib方法的載入順序iOSUIViewController
- Tomcat的class載入的優先順序一覽Tomcat