找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 16467|回复: 4

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:8 j7 M: J6 V+ T8 s) D  e; X2 |
在下legacy bios没做两天又EFI了 . d1 s; g4 v! u: }: P4 e1 f
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!4 s' j6 Z* D1 @8 N) ]7 n2 S; [

* P% r+ K% a! {$ Dtypedef3 e2 q- G6 V' |0 j6 Y
EFI_STATUS$ E" O8 w/ C2 ]% p2 O  k; F
(EFIAPI *EFI_PEI_RESET_SYSTEM) (% Z0 G0 T( Z- J: }/ ]5 n, H7 L
  IN EFI_PEI_SERVICES   **PeiServices
" g3 u  O- S6 k- c# d% M  );
7 n- o( E" U; m% d/ J& h, t9 x' K& ^) o% U; J6 U& [4 }
typedef struct {& I' \& c/ v5 k; z% `: n
  EFI_PEI_RESET_SYSTEM  ResetSystem;
7 D, |( N' E% c0 N/ @" Y4 ~: Y* b} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    - m' `0 R3 z4 N8 E" M
  2. EFI_STATUS! Y6 z: c8 t9 F0 X- e$ Z
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    ! J7 W! a  a& k" J
  4.   IN EFI_PEI_SERVICES   **PeiServices# \( s& r, M3 E/ u% k
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
, z; |. t7 n: n1 K- F是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址/ m( I. \' x8 S2 y" o
& [% `' a7 }$ P7 |( j
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
) g; C. f/ A6 G/ |: ~8 JEFI_STATUS EFIAPI PeiResetSystem (IN  EFI_PEI_SERVICES   **PeiServices );
回复

使用道具 举报

 楼主| 发表于 2008-11-12 14:04:00 | 显示全部楼层
感谢xtdumpling指点,学习了!
回复

使用道具 举报

发表于 2009-8-6 09:45:21 | 显示全部楼层

请问,EFI_STATUS这个有没有具体意思呢?

请问,EFI_STATUS这个有没有具体意思呢?谢谢哈,初学者~~
回复

使用道具 举报

发表于 2009-8-14 20:47:07 | 显示全部楼层
EFI_STATUS就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
7 O7 [9 b& `+ E  R3 m0 l3 E* }  a第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。' A) {9 B; O. x' z
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
7 S1 T/ B/ l' |. f# I# I经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说4 b0 f; \8 f8 e: d
PEI_RESET_PPI myVar;
3 w0 b8 s. k$ b) e. l就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。9 Q8 |2 |6 ~$ B

, b0 c. q! k" [" ~: j# D7 P4 o) H解析   EFI_PEI_SERVICES **PeiServices, @0 p% i* m2 Q6 g' j. h
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-9-19 21:04 , Processed in 0.064903 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表