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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:' O: H" X' E5 k) o
在下legacy bios没做两天又EFI了
1 k6 r7 [- S9 d! l4 |我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
: w: t0 F& i1 p. V9 z! v5 Q, ^9 O* q
. G  ^2 ]7 f; y7 ~6 u& {typedef
: i0 ^! V0 \4 _) ?$ g; EEFI_STATUS
( F4 H- d. y: \3 u$ }; V(EFIAPI *EFI_PEI_RESET_SYSTEM) (& _' y1 m- C; \$ A2 G" x0 |
  IN EFI_PEI_SERVICES   **PeiServices( M. B  ]/ a( V2 y$ g
  );" V" k- Y5 ]% s9 d

2 c8 ]- F1 @/ M* gtypedef struct {6 I' ?- p- V3 v
  EFI_PEI_RESET_SYSTEM  ResetSystem;/ R( L6 b1 e) N/ s
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
      e& F& d  b: o1 H' i
  2. EFI_STATUS- D; `0 f. A& {  C) F* w
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    * M9 o7 K: R1 {! Q, M
  4.   IN EFI_PEI_SERVICES   **PeiServices
    8 {# D2 J4 _5 v5 y0 \" s0 W
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,7 E" }/ c1 ~; [9 J8 G3 f
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址9 ^' Y: r  n2 V$ g  j/ ~4 R

$ A- W3 O8 P5 o% G6 K6 S; p9 sEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
  I, Q& B( ^. I4 p+ ?; xEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。8 w3 f5 m/ n. Q
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。8 T9 ?' e7 ~! D& Z5 K
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
- H& C6 N0 J) M6 c( a6 i经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
" f1 x$ h5 t1 q5 o8 p3 g1 p& aPEI_RESET_PPI myVar;
/ M) i. N" q, g1 P3 I2 _7 M. U就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。4 ?3 l; q3 A4 Z2 F
' v5 x) b# ?% u4 B
解析   EFI_PEI_SERVICES **PeiServices; y: \' b  `+ _1 G1 s
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-11 16:59 , Processed in 0.048816 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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