日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wince 6.0 设备管理器架构

發布時間:2025/6/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wince 6.0 设备管理器架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設備管理器運行在Windows Embedded CE操作系統下,跟蹤加載的驅動及其接口。它從內核中啟動,并持續運行。當設備接口變的可用或不可用時,設備管理器能夠通知用戶。用戶,或者系統本身可以讓設備接口變的可用或不可用。對于那些暴露了流接口(stream interface)的設備接口,設備管理器會通知內核該設備接口支持CreateFile之類的文件操作來訪問設備。設備管理器向設備驅動發送電源通知回調,并提供電源管理服務。更多信息,請參考Power Management。

?

設備管理器控制注冊表中的Active項。只有設備管理器才應該對Active項進行讀/寫訪問。通過設備驅動的初始化函數中的一個參數,可以間接訪問Active項。

?

設備驅動搜索HKEY_LOCAL_MACHINE/Drivers/RootKey注冊表項,以確定開始設備加載過程的項。RootKey的默認值為Drivers,但是其值通常為Drivers/BuiltIn。設備管理器調用函數ActivateDeviceEx,以加載在RootKey的值指定的項中找到的Dll子項表示的驅動。Dll子項的默認值為BusEnum.dll,又被稱為總線枚舉器。加載BusEnum.dll將會導致所有的設備驅動被加載。通過ActivateDeviceEx加載的設備,可以從其Active注冊表項中讀取其activation handle。

?

設備管理器將總線名稱與設備進行關聯。未命名設備也可以擁有一個總線名稱,因為就算應用程序不能訪問該驅動,其他驅動或者系統實體,例如電源管理器,也可以訪問該驅動。總線名稱可以擁有一個與規則的設備名稱不同的ACL。

?

驅動通過調用DMAdvertiseInterface能夠以編程的方式發布接口。函數DMAdvertiseInterface使驅動能夠添加更多的可搜索GUID到它們的關聯列表。DMAdvertiseInterface由Devmgr.dll提供。Devmgr.dl實現了大部分的設備管理功能。只有設備驅動能調用DMAdvertiseInterface,因為只有設備管理器能加載Devmgr.dl。如果一個驅動在卸載的時候沒有發布其接口不可用,設備管理器會自動清除接口發布通知。

?

設備管理器組件

?

設備管理器由nk.exe, device.dll和devmgr.dll三個組件構成。Nk.exe加載device.dll,device.dll是一個加載devmgr.dll的薄殼。devmgr.dll實現了設備管理器的核心功能。

?

因為設備管理器由兩個獨立的模塊組成。設備驅動可以直接連接設備管理器,并調用其功能,如DMAdvertiseInterface,而不用產生系統調用的開銷。

?

ComponentDescription

devcore

提供設備管理器的核心功能。

iorm

提供I/O資源管理功能。 Iorm 是必需的組件,并且不能被刪除。

pmif

nopmif

Pmif提供了電源管理DLL入口點的接口。

Nopmif電源管理入口點的存根版本。

?

總結

以上是生活随笔為你收集整理的wince 6.0 设备管理器架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。