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相关推荐

  1. BIOS知识枝桠——Event

    Event 传统的中断模式 硬件中断 软件中断 Event Overview Event Function Event Use TPL Timer UEFI不再为开发者提供中断支持,但在UEFI内部还 ...

  2. BIOS知识枝桠——GPU

    GPU理论阐述 概念 功能 供应商 NVIDIA GPU 名称解读 显存 GPU/显卡信息查看.鉴别工具 显示接口 GPU通用计算编程 科普类文章,无实际技术相关,内容来源网络 概念 图形处理器(英语 ...

  3. BIOS知识枝桠——FV

    FV 基本概念 架构组成 File Type&Section Type FV的访问 FV拓展 EFI IMAGE (PE/COFF) FV拓展 EFI OPTIONROM 基本概念 FD:固件 ...

  4. BIOS知识枝桠——文件系统

    硬盘与文件系统 硬盘物理结构 MBR分区 GPU分区 FAT ROM Layout 硬盘物理结构 以一个机械硬盘为例,内部包括磁片.主轴.速写磁头.传动手臂.传动轴.反力矩弹簧装置,SSD没有这样的结 ...

  5. BIOS知识枝桠 -- PCIE

    博客内容来源为网络下载ppt,侵删 PCI的发展 PCI Local Bus 示意图 NoteBook上常见的PCIE Device:SSD DGPU WLAN LAN CardReader. 通过总 ...

  6. BIOS知识枝桠——SCI SMI IRQ

    SCI SMI 中断 中断分析 SCI SMI SMM SCI和SMI的异同 特殊的GPE: Q event SMI的几种常见的注册 SWSMI的触发 常见SMI的应用 中断 中断: 指当出现需要时, ...

  7. BIOS知识枝桠——Device Path

    EFI Device Path 定义&原型 文本表示形式 EFI Device Path种类 Hardware Device Path ACPI Device Path Messaging D ...

  8. BIOS知识枝桠——ACPI

    ACPI在BIOS中的应用 ACPI Overview Power State ACPI Table XSDT FADT ASL Code 变量和运算 函数 ACPI Overview 完全解读:Ad ...

  9. BIOS知识枝桠—— Library

    Library overview Lib Overview Lib的文件结构 库的实体: 库的头文件: 库的Dec文件: 库函数的调用: MdePkg 常用Lib PUBLIC DEFINITIONS ...

最新文章

  1. jenkins添加git源码目录时报Error performing command错误
  2. windows7下载python教程-Windows 7下Python Web环境搭建图文教程
  3. 在python中,小数点前的0可以省略不写...
  4. 赛森机器人_戴森扫地机器人体验:六千元的它,到底好在哪?
  5. mysql日期存到oracle_mysql与oracle的日期/时间函数小结
  6. SqlServerException:拒绝对表对象的select,insert权限解决(新建账号导致的问题)
  7. [ZT]比尔·盖茨被激怒 微软肩负起唱衰Google的使命
  8. HDU-1712-ACboy needs your help
  9. 4K视频直播与点播系统的搭建与体验
  10. 官方文档---ubuntu 安装OpenStack
  11. CentOS-6.4 安装 Memcached
  12. mfc 如何将cstring转byte_如何将PDF转成JPG?PDF转图片的技巧
  13. tomcat内存溢出解决方案_JVM了解以下?JVM系列~内存区域与内存溢出异常
  14. rost反剽窃检测系统_动静结合,最硬核反外挂
  15. 3.PCIe协议分析1-预备知识点
  16. python拦截游戏封包_TCP封包拦截类模块 API HooK封包拦截源码
  17. 地理信息数据 中国市级行政区划 SHP
  18. Swift 属性与方法
  19. 华清远见百度网盘实训笔记
  20. 【操作系统】实验三 进程调度模拟程序

热门文章

  1. 百度地图H5/app 导航
  2. 服务器离家出走怎么修复,减肥减到“大姨妈”离家出走?教你几招把它找回来!...
  3. 一句话概括 —— ML(机器学习)
  4. hdu 4662 MU Puzzle
  5. 学语言·写博客·分享交流——《我是一只IT小小鸟》读书笔
  6. 特斯拉“踩坑”分时Linux?丰田/Mobileye选择“迎难而上”
  7. C语言实例-----五人分鱼
  8. 常见数据结构的特点—收藏
  9. html导航凹凸效果,纯CSS实现底部弧度效果(凹凸圆弧)
  10. 中国PETG市场预测及战略研究报告(2022版)