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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:/ ^; {/ P1 L! S5 }9 {
在下legacy bios没做两天又EFI了
1 v/ e! X5 t; E& j我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!5 b; x  ^% T! L, b: n. j$ P
2 A: z6 v8 }4 `) t# m
typedef8 X  A6 q6 z" u( l$ s7 j  v
EFI_STATUS, x/ A' I7 o5 C& y
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
  \$ j- _7 y( I  IN EFI_PEI_SERVICES   **PeiServices
: I3 Z. J" c7 o* v4 e1 z, x0 U  );5 [: P/ B/ x" a' p: y
7 n8 y$ A& u, U1 x1 P0 [* w0 }  ~
typedef struct {: ~& R- }& h  y/ [$ e+ C" I# D
  EFI_PEI_RESET_SYSTEM  ResetSystem;& F. L' R- s5 s. ?, G% B5 q$ g
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef% d, n; F; c0 `# {  N  ?
  2. EFI_STATUS, g; y( X2 D( x* I
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (; _6 q; K. |: r; e. K
  4.   IN EFI_PEI_SERVICES   **PeiServices
    * B# }# C- M* c2 P
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,. a7 c1 C4 s8 G% G& g% m
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址3 I: V( w# |/ o+ X

2 J+ A" Q& O; C& G) IEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:5 {0 o9 k. \, z: _5 c
EFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。& d( }1 O5 `3 [2 a! z
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
- W% U2 [) o" Y: a第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。6 O: K. l: }3 \. W2 C
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说: A* }% @, o( l
PEI_RESET_PPI myVar;
( }9 x9 p' Y0 x0 R: M0 d就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
4 w' ~# w" E5 R: H' f3 ]" e, c, y) y- i
解析   EFI_PEI_SERVICES **PeiServices
2 Q; Q7 K; k9 i# Q" b, C! V" g! D可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-2 04:13 , Processed in 0.075207 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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