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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:- w6 M" c$ f, U- R9 ?
在下legacy bios没做两天又EFI了 1 Q: n4 r" @- L7 Z2 M
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
8 D4 U1 z+ V+ o
% [9 p6 N9 D; J4 atypedef
0 e: k) D: W: o1 @+ {EFI_STATUS" z! i/ C' z0 l% q2 g
(EFIAPI *EFI_PEI_RESET_SYSTEM) (% R+ v6 A5 m+ m$ [, `* p7 ]
  IN EFI_PEI_SERVICES   **PeiServices
! ]% W, u6 Z' `$ n  );
+ M. e: U8 V+ U3 Z5 x
+ Z" O2 B# t( J) L9 btypedef struct {
% R2 K" \* K' w4 ~& A* L& z4 r; n  EFI_PEI_RESET_SYSTEM  ResetSystem;
) m7 H: T$ r# Z( {( b, Z} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef1 U0 c* q) }; ]+ B  o
  2. EFI_STATUS- \4 b  f- X/ E6 L! a
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (' e, o1 d0 J) n+ |
  4.   IN EFI_PEI_SERVICES   **PeiServices+ k: K5 H; D) P# y6 i8 X* S" ^
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,% J7 G& f' J! E, S0 N8 t1 u1 s
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
4 F  D/ ~) b! E; N- v; @) K' ?3 k/ o9 [( Q$ b( w
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:* H6 p$ W3 a  j" M7 y
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
' ~% u* a6 S/ u7 `9 s第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
$ J3 h4 O: N) g第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。1 |+ m* P0 J0 {3 ~+ f% `5 t3 p
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说4 ]# G1 x2 D# @: s* Y2 `
PEI_RESET_PPI myVar;
& {3 o! N4 T4 p$ Z& w$ j5 b9 k就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
) w- h3 ]1 }2 _5 P5 l) p) n3 ?# x' @7 j$ d$ b/ i, |! F: I
解析   EFI_PEI_SERVICES **PeiServices
! M$ R  Q: D3 x" m" b7 }可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-21 22:13 , Processed in 3.690185 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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