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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:$ @( K2 c3 M& X; M  A6 L
在下legacy bios没做两天又EFI了
& j4 }% A8 K# R' C* d4 G: K我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
) ]1 d" `/ |/ t2 G4 U' e$ @
5 a: P$ `9 M, i: g* ~" Otypedef
6 ^0 a7 D( q4 U3 B3 l" cEFI_STATUS
+ u  l: m4 ~& l9 L% H7 Q(EFIAPI *EFI_PEI_RESET_SYSTEM) (
( u* {# S# s$ \+ x& F0 ]. m$ q  IN EFI_PEI_SERVICES   **PeiServices
0 X# y/ k: j8 D2 _% a  );
# I  d4 d+ X  D3 _! D  Z% Y- F8 ]' U7 l! d
typedef struct {
' t: o3 @0 a6 j8 P, Q  EFI_PEI_RESET_SYSTEM  ResetSystem;1 H, B7 b+ R& z
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef, D' ^5 b5 Q/ S. |
  2. EFI_STATUS7 I( w  t& O* A; Q- [+ \* }  t
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (8 P4 l" _$ n/ ~& i* n8 n' I
  4.   IN EFI_PEI_SERVICES   **PeiServices* i2 s" j* D6 M  V9 g5 N! g& c
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
! U& Q" u4 K: q! g* n  e是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
2 P; G% Z& E: _5 j# P) z- ?& l9 g% R: v
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
: v* z) `  \  L2 g: j$ n, eEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
" \$ O5 p" L& e  b& D* ^8 [! \第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
9 S- B% P# q1 S+ d7 F+ v第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
4 f8 K& o, c% l; z3 G经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说, x7 ~4 M4 b: b- X( K
PEI_RESET_PPI myVar;3 n# r" n# ]% ^. i
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。6 D( \- e3 G0 Z* b

4 O2 k5 B% N5 G9 ?% Z$ Q解析   EFI_PEI_SERVICES **PeiServices( [8 C2 T  C2 s; [
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 18:24 , Processed in 0.065905 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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