System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 窗体资源文件与字符串资源文件的对应关联方法及系统技术方案_技高网

窗体资源文件与字符串资源文件的对应关联方法及系统技术方案

技术编号:40660510 阅读:2 留言:0更新日期:2024-03-18 18:53
本发明专利技术公开了一种窗体资源文件与字符串资源文件的对应关联方法及系统,包括:在字符串资源文件UNI对应的字符串数组中插入窗体资源文件VFR的哈希值;根据哈希值,将VFR与UNI对应关联。能够使得OS工具将字符串数组和窗体资源文件数组进行对应,使得OS工具导出的BIOS配置与实际的BIOS配置一致。

【技术实现步骤摘要】

本专利技术涉及统一可扩展固件接口uefi,具体涉及一种窗体资源文件与字符串资源文件的对应关联方法及系统


技术介绍

1、统一可扩展固件接口(uniformed extensible firmware interface,uefi)是intel公司为个人电脑固件的体系结构、接口和服务提出的建议标准,主要目的是提供一组在操作系统加载之前在所有平台上一致的指定启动服务。uefi提供了可视化的基本输入/输出系统(basic input output system,bios)配置界面供用户修改。bios配置界面的内容由窗体资源文件(visual forms representation,vfr)与字符串资源文件(unicodestring file,uni)定义。现有的开源的uefi开发工具包(如edk2代码)中,窗体资源文件vfr与字符串资源文件uni均在驱动(driver)中定义。

2、实际使用过程中,客户会有不同的bios配置界面的显示需求,所以需要根据客户需求修改驱动(driver)。但当一套代码支持多个客户时,如果使用edk2代码的驱动(driver)中定义vfr和uni样式,需要对驱动(driver)中的某个vfr或者uni添加客户标识的限定条件,导致文件冗余。为解决此问题,将通常无需修改的安全(security)和启动(boot)页面仍放在驱动(driver)中定义,将定制化需求较多的主页(main)、高级(advanced)、保存&退出(save&exit)页面放在库(library)中定义,以方便进行重写。多个客户存在时,可以存在多个库(library)。

3、此时出现新问题:使用os解析工具生成的bios文件时,导出的配置与bios界面实际配置选项不一致。

4、具体描述如下:os解析工具在解析bios二进制文件中的bios配置选项数据时,出现一个问题:驱动(driver)和库(library)都包含了字符串资源文件(uni)和窗体资源文件(vfr),编译工具在处理驱动(driver)和库(library)中的字符串资源文件中的字符串时,都是分别从0开始编号的;这样,os解析工具在解析编译产生的驱动模块的二进制文件时,会找到多个字符串数组(strings[],字符串资源文件经过编译工具处理后得到的数组)和多个窗体资源文件数组(vfrbin[],窗体资源文件经过编译工具处理后得到的数组),os工具无法将字符串数组和窗体资源文件数组进行对应,导出的配置与bios界面实际配置选项不一致。

5、为了解决导出的配置与bios界面实际配置选项不一致的问题,需要研究一种窗体和字符串之间对应关系的解决方法。


技术实现思路

1、有鉴于此,本专利技术提供了一种窗体资源文件与字符串资源文件的对应关联方法及系统,能够使得os工具将字符串数组和窗体资源文件数组进行对应。

2、本专利技术采用的具体技术方案如下:

3、一种窗体资源文件与字符串资源文件的对应关联方法,包括:在字符串资源文件uni对应的字符串数组中插入窗体资源文件vfr的哈希值;根据所述哈希值,将窗体资源文件vfr与字符串资源文件uni对应关联。

4、进一步地,其中,所述哈希值为md5哈希值。

5、进一步地,其中,所述哈希值的字段长度为16字节,所述哈希值的字段包括8字节长度的标志位字段、4字节长度的哈希值个数字段、4字节长度的保留字段。

6、进一步地,所述在字符串资源文件uni对应的字符串数组中插入窗体资源文件vfr的哈希值,包括:在所述字符串数组的末尾插入空白数据,所述空白数据用于存放所述哈希值。

7、进一步地,所述在字符串资源文件uni对应的字符串数组中插入窗体资源文件vfr的哈希值,包括:创建所述哈希值的批处理文件,将所述批处理文件插入至lib文件中;驱动driver和库library分别编译对应的所述lib文件,以获取可扩展固件接口文件,其中,所述可扩展固件接口文件用于指示所述vfr与所述uni的对应关系。

8、进一步地,所述创建所述哈希值的批处理文件,包括:解析库library对应的编译后的对外输出的目录文件,以获取所述哈希值;解析库library对应的编译后的程序编译中间代码文件,以获取与空白数据对应的字符串位置;将所述哈希值填充进所述字符串位置,以对所述程序编译中间代码文件进行修改;将修改后的程序编译中间代码文件打包至对应的lib文件中,以获取所述批处理文件。

9、进一步地,将所述批处理文件插入至lib文件中,包括:通过修改编译规则,在所述lib文件中插入所述批处理文件。

10、进一步地,驱动driver和库library分别编译对应的所述lib文件,以获取可扩展固件接口文件,包括:驱动driver和库library分别编译对应的所述lib文件,获取动态链接库类型文件;对所述动态链接库类型文件进行格式转换,获取所述可扩展固件接口文件。

11、进一步地,所述根据所述哈希值,将窗体资源文件vfr与字符串资源文件uni对应关联,包括:解析所述可扩展固件接口文件,获得字符串包和窗体资源二进制文件,并计算获取所述窗体资源二进制文件的哈希值;根据所述窗体资源二进制文件的哈希值与所述字符串包的哈希值,将所述vfr与所述uni对应关联。

12、一种窗体资源文件与字符串资源文件的对应关联系统,包括:哈希值模块,用于在字符串资源文件uni对应的字符串数组中插入窗体资源文件vfr的哈希值;对应关联模块,用于根据所述哈希值,将窗体资源文件vfr与字符串资源文件uni对应关联。

13、有益效果:

14、(1)本专利技术实施例提供了一种窗体资源文件与字符串资源文件的对应关联方法,包括:在字符串资源文件uni对应的字符串数组中插入窗体资源文件vfr的哈希值;根据哈希值,将vfr与uni对应关联。能够使得os工具将字符串数组和窗体资源文件数组进行对应,使得os工具导出的bios配置与实际的bios配置一致。

15、(2)驱动driver和库library分别编译对应的lib文件,以获取可扩展固件接口文件,其中,可扩展固件接口文件用于指示vfr与uni的对应关系。采用驱动driver和库library共同进行编译,二者中都有哈希值信息,从而可以保证对应关系的准确性。

16、(3)os工具解析可扩展固件接口文件,获得字符串包和窗体资源二进制文件,并计算获取窗体资源二进制文件的哈希值。在os工具和bios中传输的是可扩展固件接口文件,传输效率更高,使得系统的适配性更好。

本文档来自技高网...

【技术保护点】

1.一种窗体资源文件与字符串资源文件的对应关联方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,其中,所述哈希值为MD5哈希值。

3.如权利要求2所述的方法,其特征在于,其中,所述哈希值的字段长度为16字节,所述哈希值的字段包括8字节长度的标志位字段、4字节长度的哈希值个数字段、4字节长度的保留字段。

4.如权利要求1所述的方法,其特征在于,所述在字符串资源文件UNI对应的字符串数组中插入窗体资源文件VFR的哈希值,包括:

5.如权利要求1所述的方法,其特征在于,所述在字符串资源文件UNI对应的字符串数组中插入窗体资源文件VFR的哈希值,包括:

6.如权利要求5所述的方法,其特征在于,所述创建所述哈希值的批处理文件,包括:

7.如权利要求5所述的方法,其特征在于,将所述批处理文件插入至LIB文件中,包括:

8.如权利要求5所述的方法,其特征在于,驱动Driver和库Library分别编译对应的所述LIB文件,以获取可扩展固件接口文件,包括:

9.如权利要求8所述的方法,其特征在于,所述根据所述哈希值,将窗体资源文件VFR与字符串资源文件UNI对应关联,包括:

10.一种窗体资源文件与字符串资源文件的对应关联系统,其特征在于,包括:

...

【技术特征摘要】

1.一种窗体资源文件与字符串资源文件的对应关联方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,其中,所述哈希值为md5哈希值。

3.如权利要求2所述的方法,其特征在于,其中,所述哈希值的字段长度为16字节,所述哈希值的字段包括8字节长度的标志位字段、4字节长度的哈希值个数字段、4字节长度的保留字段。

4.如权利要求1所述的方法,其特征在于,所述在字符串资源文件uni对应的字符串数组中插入窗体资源文件vfr的哈希值,包括:

5.如权利要求1所述的方法,其特征在于,所述在字符串资源文件uni对应的字符串数组中插入窗体资...

【专利技术属性】
技术研发人员:陈小春张超朱立森孙亮王一刘昊天
申请(专利权)人:昆仑太科北京技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1