2

我试图了解 EDK2 模块的包声明文件 (.dec) 中的不同部分,但是我似乎无法弄清楚为什么某些 GUID 定义在 [GUIDs] 部分下,而有些则在 [Protocols] 下部分或 [Ppis] 部分。有没有理由不应该将它们放在同一个部分下,尤其是从 EDK2 构建过程的角度来看?

4

1 回答 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 回答