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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
5 f0 ]+ U+ G2 G在下legacy bios没做两天又EFI了 $ B& z6 P- f' c- K3 a% E1 E! j7 l+ _
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
8 n* k5 S6 e/ [% O* n" u- t- A7 n8 }9 j2 D  O8 d- c
typedef
6 U7 ^7 B1 r* c! b9 gEFI_STATUS
7 c9 s9 a% a1 y6 j(EFIAPI *EFI_PEI_RESET_SYSTEM) (
1 y+ U4 ^8 Z5 K& d( }  IN EFI_PEI_SERVICES   **PeiServices0 Y! L. b( d2 a3 E" A
  );
- y  x/ p! I2 v4 [  D. p0 X* s* _1 W
typedef struct {1 P' {0 U9 J% J
  EFI_PEI_RESET_SYSTEM  ResetSystem;
# N& S& l+ O  s- T1 |9 l} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    0 b: E$ S! W: }  V2 q6 S
  2. EFI_STATUS# o! F3 L. m, S- g* k* x) R: A
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    , q4 Z6 \0 h: t) @7 F9 `
  4.   IN EFI_PEI_SERVICES   **PeiServices* O, F# l+ x3 k, c, W2 V6 `& K
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,5 e' |4 \+ i# F* q* g2 I
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
3 C5 N8 m4 L: h2 d, z, ~2 g
! j% S6 Q8 Q3 Z6 u* m% T, HEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:/ i8 P! |5 x  w& i$ ^
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。: r; |* e; t( o% \- p
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
% z- \* ?% b. c+ e; N第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
; c5 l, g+ ?' r; I( h经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
& I; t: u( H- D7 T( \: ^. aPEI_RESET_PPI myVar;  m9 ~& a" k9 @. A
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。- I7 @6 C% S4 h- i% u  ~

& c5 u" u$ v3 z解析   EFI_PEI_SERVICES **PeiServices! @- k' `/ A3 `# U# F. p7 A
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 02:47 , Processed in 0.255307 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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