uefi用驅動的形式提供服務,因為只有驅動才能常駐記憶體(應用程式不行),這種驅動稱之為服務型驅動
驅動分2種,uefi驅動模型驅動 和 dxe驅動。服務採用dxe驅動的方式開發
服務的開發分3步:
1. 服務介面的設計
2. 服務介面的實現
3. 服務驅動入口函式中gbs->installprotocolinte***ce,將protocol的例項安裝到自身handle上
驅動的驅動服務部分:
1. protocol標頭檔案中定義乙個protocol(efi_***_protocol),包括guid,成員函式和變數的簽名
2. 驅動程式原始檔中定義私有資料(***_private_data),包括protocol和相關資訊
這裡protocol介面的實現要觸及硬體裝置(暫存器)
驅動的框架部分:
1. 實現efi_driver_binding_protocol的三個服務supported、start和stop
start服務負責為私有資料分配記憶體、初始化私有資料,並在controllerhandle上安裝協議(installprotocolinte***ce)
2. 實現component name protocol和component name2 protocol
3. 模組入口函式中安裝edbp,ecnp,ecn2p(efilibinstalldriverbindingcomponentname2)到image handle
Linux學習 服務管理
1 服務分類 服務管理內容 啟動 自啟動查詢已安裝的服務 rpm包安裝的服務 自啟動的chkconfig list 2345中如果是啟用,代表下次開機會自啟動 正在執行的服務ps aux 原始碼包安裝的服務 檢視服務的安裝位置,一般是 usr local 下 系統執行級別 配置檔案位於 etc in...
驅動學習 服務的基本操作
服務的基本操作 1 註冊 2 啟動 3 暫停 核心驅動不支援 4 停止 5 解除安裝 開發者 呼叫api lpc 本地方法呼叫 服務管理器 服務管理器處理具體的要求 sc handle winapi openscmanager lpctstr lpmachinename,lpctstr lpdata...
機器 深度 學習入門3000問(龜速持續更新)
1.使用python中 os.listdir 發現mac隱藏資料夾.ds store造成的報錯 問 如何 or如何在程式中去除.ds store的影響?參考 2.如何設定終端的初始執行位置?答 1.版本 1.需要配置多種環境麼?答 需要,方便管理需要不同python版本的不同專案。2.jupyter...