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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:5 M5 l/ t/ z7 d' Z: J8 \; [. X
在下legacy bios没做两天又EFI了 # R/ T' `# s# L+ B# R: ?
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!  t- m/ A" @0 P

( s, B8 e, `7 Z) R( Jtypedef  m) w4 ]4 i' v1 p! N5 {
EFI_STATUS, b# `( w  l) I3 Z+ [3 f
(EFIAPI *EFI_PEI_RESET_SYSTEM) (" B' S( u1 e% e; N
  IN EFI_PEI_SERVICES   **PeiServices
2 l4 g! j* I4 D/ S; u2 E  );9 a. l8 u& ]+ b2 A  m' d* J

- Y- a% h, }, ~  L: B' q* H4 ytypedef struct {
" C' r* A1 f6 s. i7 A  EFI_PEI_RESET_SYSTEM  ResetSystem;) \( S) `5 [, r! J/ j" ^
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef% f; b, c, ]) K* h% \+ W. c! i
  2. EFI_STATUS
    & ~9 }3 ^9 T) S$ }+ i3 x
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    ; x. v3 H( A$ S7 D, s& s8 \7 n! i
  4.   IN EFI_PEI_SERVICES   **PeiServices
    . u% i# T& A5 V! I, X, N
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
* K6 B3 n8 m, s2 d  g' e  ]2 [$ p是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
8 s1 p  B" S0 `& z
. L0 K1 A6 H! C' H5 c1 K  T; fEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
& m5 {$ a" |" R+ b8 {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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。1 o5 z* w" ]+ ~" m4 ^
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。* ~/ T; |% B9 U# ~8 H
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。1 [9 j& S# `+ d
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
4 `6 q- B: |: g6 n! ~4 c+ pPEI_RESET_PPI myVar;
+ U! Y5 n- P, X* |: k4 t4 v6 ~5 g就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。/ N7 k4 v8 s! |4 @# H. R* ~

0 c0 y- v9 `6 J+ c( [解析   EFI_PEI_SERVICES **PeiServices9 U; c* n4 N5 ?8 H- `& U% ~% ~) P5 I4 X
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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