我试图了解 EDK2 模块的包声明文件 (.dec) 中的不同部分,但是我似乎无法弄清楚为什么某些 GUID 定义在 [GUIDs] 部分下,而有些则在 [Protocols] 下部分或 [Ppis] 部分。有没有理由不应该将它们放在同一个部分下,尤其是从 EDK2 构建过程的角度来看?
问问题
526 次
1 回答
0
所以,这最多是一个答案,但是:
最终,GUID 只不过是一个 128 位的值,在统计上保证是唯一的(如果使用定义的方法生成)。
定义 GUID的[Guids]
部分.dec
指向通用数据结构、变量命名空间、事物......
该[Protocols]
部分定义了可发现的 UEFI API,而[Ppis]
定义了 PEI (Pre-EFI) API。
最终,这在处理模块.inf
文件时变得相关,这些文件声明它们需要构建哪些 [Guids]、[Protocols] 和 [Ppis]。即,您可能只需将所有内容都声明为 GUID 就可以侥幸 - 但随后您将失去任何防止您在 DXE 中使用 PPI 的健全性检查,或者相反。
于 2019-06-17T21:18:32.337 回答