你能从 efilib.h 解释这个 C 定义吗?
Can you explain this C definition from efilib.h?
我正在学习 UEFI 编程,我注意到许多 EFI 头文件显示的块使用我无法理解的语法:
typedef
EFI_STATUS
(EFIAPI *EFI_TEXT_STRING) (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
IN CHAR16 *String
);
- 能否请您解释一下
typedef
在这种情况下的参数是什么?
- 为什么
IN
的语法是合法的?它是编译器特定的功能吗?
这是函数指针的简单类型定义。类型 EFI_TEXT_STRING 是一个指向函数的指针,该函数将指向 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL 的指针作为其第一个参数,并将指向 CHAR16 的指针作为其第二个参数。函数 returns 类型 EFI_STATUS.
我正在学习 UEFI 编程,我注意到许多 EFI 头文件显示的块使用我无法理解的语法:
typedef
EFI_STATUS
(EFIAPI *EFI_TEXT_STRING) (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
IN CHAR16 *String
);
- 能否请您解释一下
typedef
在这种情况下的参数是什么? - 为什么
IN
的语法是合法的?它是编译器特定的功能吗?
这是函数指针的简单类型定义。类型 EFI_TEXT_STRING 是一个指向函数的指针,该函数将指向 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL 的指针作为其第一个参数,并将指向 CHAR16 的指针作为其第二个参数。函数 returns 类型 EFI_STATUS.