Можете ли вы объяснить это определение C из efilib.h?
Я изучаю программирование UEFI и замечаю, что во многих заголовочных файлах EFI показаны фрагменты с таким синтаксисом, который я не могу понять:
typedef
EFI_STATUS
(EFIAPI *EFI_TEXT_STRING) (
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
IN CHAR16 *String
);
- Не могли бы вы объяснить, каковы аргументы этого
typedef
в этом случае? - Как же эти
IN
законный синтаксис? Это особенность компилятора?
1 ответ
Решение
Это простой typdef для указателя на функцию. Тип EFI_TEXT_STRING является указателем на функцию, которая принимает указатель на EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL в качестве первого аргумента и указатель на CHAR16 в качестве второго аргумента. Функция возвращает тип EFI_STATUS.