typedef EFI_STATUS (EFIAPI *EFI_SET_FRB_TIMER) (
IN EFI_SM_FRB_PROTOCOL * This,
IN EFI_FRB_TYPE FrbType,
IN UINTN *Timeout
);
typedef EFI_STATUS (EFIAPI *EFI_SET_FRB_TIMER) (
IN EFI_SM_FRB_PROTOCOL * This,
IN EFI_FRB_TYPE FrbType,
IN UINTN *Timeout
);
这应该是UEFI里定时器的函数原型,总体上说是一个函数指针,指针指向一个返回类型为EFI_STATUS,三个输入型形参的函数。但是加上了一个typedef,就是为这个函数指针起了一个别名,就是EFI_SET_FRB_TIMER,这个东西就可以替代上面所有的复杂变量声明。简单说就是EFI_SET_FRB_TIMER 就已经是一个数据类型了。至于EFIAPI大部分情况下为空,你可以直接把他忽略掉,方便理解。