0

我是 UEFI(统一可扩展固件接口)开发的新手。我正在使用 EDK(EFI 开发工具包)。

要创建新协议,我们需要给协议一个 GUID。例如,在BlockIO协议的头文件中,我们可以看到:

(MdePkg\Include\BlockIo.h)

宏: 在此处输入图像描述

全局变量:

在此处输入图像描述

在包声明文件中MdePkg.dec

在此处输入图像描述

为什么我们需要其中 3 个来为协议提供 GUID?

(也许这个问题与 C 语言细节有关,所以我也添加了candmacros标记。)

4

1 回答 1

0

全局变量只能由链接到定义它的对象的驱动程序使用(BlockIo.c在您的情况下)。我认为宏是在头文件中定义的,因此不与该对象链接的驱动程序可以使用宏中的 GUID。

于 2015-08-24T05:35:49.447 回答