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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
/ U; x& `* o5 n; }5 l' p( G在下legacy bios没做两天又EFI了
) |6 b; x  ?! y6 m* y& ?3 p0 W* D9 W我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!/ [& @" C6 u$ G! r* z

/ X" W2 {; U2 dtypedef
0 ~( r( ~0 \  b% b: c) \' ?' |EFI_STATUS
' n+ ?  h3 z0 H. m/ W(EFIAPI *EFI_PEI_RESET_SYSTEM) (! o2 k! @: A/ C0 d4 O0 [  P; M
  IN EFI_PEI_SERVICES   **PeiServices
/ |9 u5 ?3 [! ?% H& c" A2 H- }  );
$ O. Y# U8 h' D" o* Z3 W4 x0 z4 l$ m( [
typedef struct {
' J$ s- V; D$ P5 ]/ b, k  EFI_PEI_RESET_SYSTEM  ResetSystem;4 {, _& P: w2 v6 c4 i
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    9 q) j9 o) H* i0 H7 W
  2. EFI_STATUS" [9 ]4 o% P5 ~' c8 o/ \
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (7 _3 U' Q  g3 U5 [/ s  x1 b
  4.   IN EFI_PEI_SERVICES   **PeiServices: s$ r7 |1 r1 x7 X
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
5 Q$ [6 f6 o" L1 N0 O  T: X是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址7 E4 z  b" B; z# j: H

' S  Q; F! C3 e# BEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
/ x* J% A( Z* ^* I. ZEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
9 _# g' Z. s, x+ I第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。! x: t  @2 R: P1 H" @/ W; R2 Q2 B* V
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
/ U3 m6 R  ^2 q* e5 F经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
+ V" y" x1 G+ _" b! }PEI_RESET_PPI myVar;
- |% f  D  g  ?$ ?' g" N就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
7 H) \3 n7 w; ^: F7 Y9 m$ b
+ V  E, x6 M1 ^解析   EFI_PEI_SERVICES **PeiServices0 N6 K3 H% D2 x: t/ p1 E- I) Z1 F
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 01:30 , Processed in 0.032395 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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