BIOS知识枝桠——HII
HII Database
- HII OverView
- HII Protocol
HII OverView
HII(Human Interface Infrastructure), 定义了一套管理用户输入的基础架构,支持多种类型的用户输入。在这个架构中HII 数据库处理底层位置,负责提供用户安装、卸载及使用各种字符串、字体及图片等资源的接口。
上图展现了HII 的基本架构。
HII DataBase: 对HII 的所有数据进行管理。
Setup Browser: 负责和用户进行交互,用户的输入输出,修改值时会获取到对应的数据然后通知HII Driver进行保存或者其他,还有一个Display模块是负责显示的。
这一套框架加载的时候是在BDS阶段,启动UI界面,Setup Browser一直监视着用户的改动,通过HIIDriver存储改动到database或是EFI Variable里面去,保证下次启动的时候改动仍然生效。
HII Protocol
Font Protocol: 字符相关,字符串图像,Sting ID图像,获取字形,获取字体信息
String Protocol: String 相关操作,New – Get – Set – String ; Get Language & 2nd Language
Image Protocol: New – Get – Set – Image ; Draw Image, Draw Image ID
Database Protocol: 管理HII每个组件的数据,New – Remove- Update – List – Export Lists – Get Handle Package;Find- Get- Set Keyboard layout;Register, Unregister Package Notify
通常遇到的会是String Protocol,但实际上也不会直接去调用String Protocol,在开发过程中,为了方便开发,在MdeMoudlePkg里面添加了一个HI Lib,提供了常用的Service足够满足日常开发。
对于HII Driver来说,首先要把自己的HII Package List install上去,Driver里面可能有String Package ,Form Package,这个就需要打包install到HII Database 里面进行统一管理,这样Setup Browse就知道有哪些信息并进行显示。除此以外,HII Driver还需要produce一个Config Access Protocols,这个Protocol进行和UI方面的数据交互,对于用户来说,在setup page修改的选项会由setup browser监控后同步HII Driver,这个Protocol包含三个API,ExtractConfig (读取当前的设置状态值)、RouteConfig(存储用户修改好的信息,由HII Driver决定)、CallBack(对用户的修改动作作出响应)。
BIOS知识枝桠——HII相关推荐
- BIOS知识枝桠——Event
Event 传统的中断模式 硬件中断 软件中断 Event Overview Event Function Event Use TPL Timer UEFI不再为开发者提供中断支持,但在UEFI内部还 ...
- BIOS知识枝桠——GPU
GPU理论阐述 概念 功能 供应商 NVIDIA GPU 名称解读 显存 GPU/显卡信息查看.鉴别工具 显示接口 GPU通用计算编程 科普类文章,无实际技术相关,内容来源网络 概念 图形处理器(英语 ...
- BIOS知识枝桠——FV
FV 基本概念 架构组成 File Type&Section Type FV的访问 FV拓展 EFI IMAGE (PE/COFF) FV拓展 EFI OPTIONROM 基本概念 FD:固件 ...
- BIOS知识枝桠——文件系统
硬盘与文件系统 硬盘物理结构 MBR分区 GPU分区 FAT ROM Layout 硬盘物理结构 以一个机械硬盘为例,内部包括磁片.主轴.速写磁头.传动手臂.传动轴.反力矩弹簧装置,SSD没有这样的结 ...
- BIOS知识枝桠 -- PCIE
博客内容来源为网络下载ppt,侵删 PCI的发展 PCI Local Bus 示意图 NoteBook上常见的PCIE Device:SSD DGPU WLAN LAN CardReader. 通过总 ...
- BIOS知识枝桠——SCI SMI IRQ
SCI SMI 中断 中断分析 SCI SMI SMM SCI和SMI的异同 特殊的GPE: Q event SMI的几种常见的注册 SWSMI的触发 常见SMI的应用 中断 中断: 指当出现需要时, ...
- BIOS知识枝桠——Device Path
EFI Device Path 定义&原型 文本表示形式 EFI Device Path种类 Hardware Device Path ACPI Device Path Messaging D ...
- BIOS知识枝桠——ACPI
ACPI在BIOS中的应用 ACPI Overview Power State ACPI Table XSDT FADT ASL Code 变量和运算 函数 ACPI Overview 完全解读:Ad ...
- BIOS知识枝桠—— Library
Library overview Lib Overview Lib的文件结构 库的实体: 库的头文件: 库的Dec文件: 库函数的调用: MdePkg 常用Lib PUBLIC DEFINITIONS ...
最新文章
- jenkins添加git源码目录时报Error performing command错误
- windows7下载python教程-Windows 7下Python Web环境搭建图文教程
- 在python中,小数点前的0可以省略不写...
- 赛森机器人_戴森扫地机器人体验:六千元的它,到底好在哪?
- mysql日期存到oracle_mysql与oracle的日期/时间函数小结
- SqlServerException:拒绝对表对象的select,insert权限解决(新建账号导致的问题)
- [ZT]比尔·盖茨被激怒 微软肩负起唱衰Google的使命
- HDU-1712-ACboy needs your help
- 4K视频直播与点播系统的搭建与体验
- 官方文档---ubuntu 安装OpenStack
- CentOS-6.4 安装 Memcached
- mfc 如何将cstring转byte_如何将PDF转成JPG?PDF转图片的技巧
- tomcat内存溢出解决方案_JVM了解以下?JVM系列~内存区域与内存溢出异常
- rost反剽窃检测系统_动静结合,最硬核反外挂
- 3.PCIe协议分析1-预备知识点
- python拦截游戏封包_TCP封包拦截类模块 API HooK封包拦截源码
- 地理信息数据 中国市级行政区划 SHP
- Swift 属性与方法
- 华清远见百度网盘实训笔记
- 【操作系统】实验三 进程调度模拟程序
热门文章
- 百度地图H5/app 导航
- 服务器离家出走怎么修复,减肥减到“大姨妈”离家出走?教你几招把它找回来!...
- 一句话概括 —— ML(机器学习)
- hdu 4662 MU Puzzle
- 学语言·写博客·分享交流——《我是一只IT小小鸟》读书笔
- 特斯拉“踩坑”分时Linux?丰田/Mobileye选择“迎难而上”
- C语言实例-----五人分鱼
- 常见数据结构的特点—收藏
- html导航凹凸效果,纯CSS实现底部弧度效果(凹凸圆弧)
- 中国PETG市场预测及战略研究报告(2022版)