我试图理解EDK2模块的软件包声明文件(.dec)中的不同部分,但是我似乎无法弄清楚为什么某些GUID定义位于[GUIDs]部分之下,而有些则位于[GUIDs]部分之下[协议]部分或[Ppis]部分。有没有理由不应该将它们放在同一部分,特别是从EDK2构建过程的角度来看?
答案 0 :(得分:0)
所以,这最多只是答案的一半,但是:
GUID最终只是统计上保证是唯一的128位值(如果使用定义的方法生成的话)。
[Guids]
的{{1}}部分定义了GUID,这些GUID指向通用数据结构,变量名称空间,事物...
.dec
部分定义了可发现的UEFI API,而[Protocols]
部分定义了PEI(Pre-EFI)API。
最终,这在处理模块[Ppis]
文件时才有意义,该文件声明需要构建哪些[Guids],[Protocols]和[Ppis]。也就是说,您可以将所有内容都声明为GUID来摆脱困境-但随后您将放弃任何健全性检查,以防止您在DXE中使用PPI或进行其他操作。