当前位置: 首页 > news >正文

个人网站制作成品深圳网站建设 诺骐网

个人网站制作成品,深圳网站建设 诺骐网,如何制作一款小程序,网站建设注意事项知乎HII(Human Interface Infrastructure )定义了一套管理用户输入的基础框架。HII数据库主要提供用户安装、卸载以及使用各种字符串、字体和图片等资源的接口。 HID Devices 是用户输入设备,如键盘、串口和网络;Display Devices 是输…

HII(Human Interface Infrastructure )定义了一套管理用户输入的基础框架。HII数据库主要提供用户安装、卸载以及使用各种字符串、字体和图片等资源的接口。

    HID Devices 是用户输入设备,如键盘、串口和网络;Display Devices 是输出设备,如显示器、串口和网络。HID Devices 和 Display Devices 通过 Forms Browser 交互。Forms Browser 是负责显示信息和收集输入、输出信息的模块,其要显示的信息从 HII Database 中获取。HII Database 负责所有 HII 数据的管理。Driver 将要显示的信息注册到 HII Database 中,在显示的过程中 Driver 和 Forms Browser 交互。交互后的信息通常存储在 UEFI Global Variable Store 中,也可以存储在其他地方,存储的控制权在 Driver,由 Driver 自己决定。【UEFI Spec 译文:】驱动程序和应用程序将元素(如字体、字符串、图像和表单)安装到 HII 数据库中,该数据库充当整个平台的中央存储库。Forms Browser 使用这些元素在显示设备上呈现用户界面,并通过 HID 设备从用户接收信息。之后,用户在 Form Browser 所做的更改将保存到 UEFI global variable storage(使用 GetVariable() 和 SetVariable() )或是自定义驱动提供的存储变量中。UI App 是一个启动选项。BDS (启动设备选择)阶段加载 UI App,该启动选项一方面会调用 Set Browser 所提供的 SentForm 服务,将所需要显示的页面显示出来(主页面)。从主页面中可分级找到系统其他的配置信息并显示。另一方面,UI App 驱动系统中各种 HII Driver,HII Driver 提供其配置信息注册给 HII DataBase,这些信息包括 IFR、String、Font、Image等。  Setup Browser 从 HII DataBase 获取信息用于显示和交互。页面和信息都有了,Setup Browser 就可以完整地显示了。交互后,用户修改地信息存入Flash(前文提到由 HII Driver 决定,这里只是说图中示例)。

UEFI (Spec)中 HII 组件
Strings 
在 uni 文件中描述。Strings 以 Unicode 类型(2 byte)存储,以满足多语言的支持。语言格式要符合 RFC 4646 基本格式。String Token 相当于 ID,是唯一的,是 String 的标识。在源代码中要同时指明 String Token 和语言才能获取最终的 String如果指明的语言没有相应的字符描述,则使用默认语言。我见过的情况是:在缺少中文显示的时,setup 的选项显示成一个叹号。

Fonts
Font 通过点阵的方式显示,有宽字符和窄字符,汉字需要使用宽字符,英文使用窄字符。使用的字符需要有对应的字库。

Keyboard
不同的键盘存在布局区别,Keyboard 用于键盘布局的匹配。

Forms
Forms Browser 使用应用程序或驱动在 HII Database 初始化时安装 Forms 数据。 Forms Browser 提供的用户接口包括读取 Forms 的内容、与用户交互以及存储数据。在 UEFI Spec 中定义了二进制格式的 IFR 用来描述页面如何显示、切换等信息。而 VFR 语言是 Edk2 的实现,Edk2 还提供了 IFR Compiler 工具用于实现将 VFR 语言编译成 IFR 语言。使用 XML、JavaScript 等其他语言也是可以的,只要最终能转换成 IFR 就行,UEFI Spec 只认 IFR。

    控件:

checkbox:用于选择 true 或 false,比如先择开还是关
numeric:用于选择一个范围,比如选择年月
oneof:用于从多个选项中选择一个
string:用于输入字串
显示效果 :

disableif:使选项完全失效了
suppressif:只是不显示,选项本身还是有效的,如有默认值则使用默认值
grayoutif:置灰选项,使得选项用户不能更改
.vfr ( .sd ) 文件内容示例:

Packages
Packages 是一个标准的数据结构,把包括 Strings、Fonts、Keyboard、Forms 、以及 Image 的数据组织起来,并管理。换句话说,这些数据都打包成 Package,然后注册,实际中注册使用 PackageList。

HII Database
HII Database 是 HII 框架一个核心的公共模块,用于管理所有 HII 数据,包括 String、Forms、Keyboard、Images、Device Paths等。

HII Protocols

HII Browser Engine Protocols

EFI_HII_CONFIG_ROUTING_PROTOCOL

    由 HII Database 提供。

EFI_HII_CONFIG_ACCESS_PROTOCOL

    EFI_HII_CONFIG_ACCESS_PROTOCOL 由HII Driver 提供。每个 HII Driver 都需要提供自己的 EFI_HII_CONFIG_ACCESS_PROTOCOL  用来负责自己数据的读和写以及交互。ExtractConfig()和RouteConfig()通常被实现 HII Configuration Routing Protocol 的驱动调用,Callback() 通常被 Forms Browser 调用。ExtractConfig() 函数用于提取元素(Strings)到当前的配置中,RouteConfig() 函数用于存储已经配置好的信息,Callback() 函数用于记录用户的操作(被修改的信息)。

EFI_FORM_BROWSER2_PROTOCOL

SentForm():用于显示页面(主页面);
BrowserCallback():HII Driver 可以通过 BrowserCallback 获取到当前 HII Driver 的配置选项里用户已经修改但还未存储的信息
HII Driver 初始化流程:
HII Driver 提供Config Access Protocols;
安装 Device Path Protocol;
安装 Config Access Protocol。Config Access Protocol 一定是安装在某一个 Device Path 上的;
Create PackageList。PackageList 通常要包含 Form、String、
调用 HII Database Protocol 里的 NewPackageList,将 Package List 安装到 HII Database 里。输入的参数包括 Config Access Protocol 所装在的 Device Path,最终得到 HII handle,至此,信息都安装完毕。一个 HII Handle 对应一个 Device Handle,通过 HII Handle 可以找到 Device Handle,相反的,通过 Device Hanlde 可以找到其对应的 Config Access Protocol。

Form Browser 的处理流程:

BlockToConfig 和 ConfigToBlock
HII Driver 通常调用的是 Browser Callback函数;UI App 调用 SentForm 函数,用于显示主页面。
HII Driver 自己的 Config Access Protocol 里的CallBack 函数调用 UEFI Browser Protocol 里的 CallBack 函数。
————————————————
版权声明:本文为CSDN博主「@一水间」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45258382/article/details/128113834

http://www.yayakq.cn/news/779573/

相关文章:

  • 易思企业网站管理网站建设人员要求
  • 杰奇怎么做网站地图php网站开发思路
  • 海南建设工程信息网站百度免费网站制作
  • 包头网站建设价格手机搭建网站教程视频
  • 做网站有没有免费空间哪里网站备案
  • 做任务得得q币的网站西安做网站seo
  • kkday是哪里做的网站wordpress本地wampserver安装教程
  • 中国最大网站建设商推荐知乎加强专业建设的主要举措
  • 涡阳网站建设哪家好如何做解析网站
  • 招商网站的建设目的四川省住房和城镇建设官方网站
  • 麻章网站建设公司三亚旅游网站建设
  • 优化快速排名公司镇江网站关键字优化公司
  • 我的校园网站制作重庆全网推广
  • 西安企业建站价格亚瑟中文 在线
  • 湖北聚四方建设有限公司网站短视频营销方式有哪些
  • 网站建设最好个人网银登录入口
  • png免费素材网站禁止下载app网站
  • 阿里接外包吗网站开发免费行情软件app网站大全
  • 国内网站服务器网页制作公司有哪些职位
  • 专门做行业分析的网站电子商务网站推广的界定
  • 东城网站开发网站建设进度
  • 网站建设设计风格如何与色彩搭配个人建设什么网站好
  • 网站设计制作的连接方式seo查询排名系统
  • wordpress中文网网站优化案例分析
  • 街区网站建设的意义安康 住房城乡建设部网站
  • 微信免费做邀请函模版网站VPS如何做网站服务器
  • 记账凭证做网站摘要怎么写外协机械加工网
  • 上海网站建设排名公司全网推广平台推荐
  • 企业网站托管技巧dw网页制作教程经验
  • php网站开发人员我自己做的一个网站显示证书错误