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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
  o) D  Y: E4 f- @7 }7 C在下legacy bios没做两天又EFI了
6 d. o9 I$ G8 H# `我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
$ Q$ [2 H7 X/ b5 b
- m0 |! s, w9 p$ x  Ctypedef
2 h/ e" W" y2 \7 pEFI_STATUS- w/ Y3 Y. h/ b2 |  L2 o
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
$ ]% }% B+ p, [' [) m) g. l) P  IN EFI_PEI_SERVICES   **PeiServices# x% A! \  i! j( h5 c5 m
  );" e, I9 d6 l( ]1 l$ t! ^+ o- d

8 \# K2 F3 v( O; Btypedef struct {! d( ^( J( f, }. ~7 f$ G
  EFI_PEI_RESET_SYSTEM  ResetSystem;+ k' Q7 q( S9 u9 r: y! [7 O
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef7 x7 l0 K2 d9 \9 T
  2. EFI_STATUS# c. Q  R, h: ]9 C
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    , X8 z: X$ ?. E
  4.   IN EFI_PEI_SERVICES   **PeiServices
    5 N/ w$ j7 M3 ^& K+ B
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,$ S) m3 F5 F3 s4 l! v" ~" [3 Q
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址* h9 G3 a* \& G- o/ E
# A( u: f' y0 t/ a! B
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:6 X! w+ F( ^  \: u1 G7 }' |$ e5 h
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。: h% U- g; x: Z0 K+ l: q
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
9 I" Z  J4 W' p; g6 l第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。5 n* s( I4 s, H& w- y1 m; ~
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说5 E" D  g! N3 r5 }
PEI_RESET_PPI myVar;0 Q' ]" r2 `+ H1 M2 L+ ^5 |
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。! }, e( K, z) ~$ m5 s! C
0 _* B# t! M  |3 d5 D
解析   EFI_PEI_SERVICES **PeiServices5 p' y$ S' i8 O; G6 m) a
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-1 05:37 , Processed in 0.086633 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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