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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:4 v; F5 ]+ q& o3 g% H- j
在下legacy bios没做两天又EFI了 1 Y% T3 i8 A+ d+ S0 ]% N* ]
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
0 [' @) a- ]4 u+ i" ^8 W/ \8 F. P
typedef
. B4 {8 W$ u' j- @; _* D0 J( kEFI_STATUS
$ i, f; P! o( z2 i(EFIAPI *EFI_PEI_RESET_SYSTEM) (
9 w0 Y* o# J, f' m0 }  IN EFI_PEI_SERVICES   **PeiServices+ T2 c1 d4 ^  V  |+ }
  );2 C$ c; L: z! a1 {7 L, {. D

4 F: m* k  t7 w  z% \$ ytypedef struct {5 D' }' {3 {% _6 w
  EFI_PEI_RESET_SYSTEM  ResetSystem;- H9 `" }  w6 q
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    ' S! x, l( u! [* x+ [! @
  2. EFI_STATUS9 |/ o8 D6 f5 h$ p+ w
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    ! v* c2 k  W7 T8 M9 ]  l, [9 R6 m5 t
  4.   IN EFI_PEI_SERVICES   **PeiServices
    - }$ Y0 m- n! ]# m% n
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,9 l# X( l# h: k, D
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
% T0 x: L# i8 l4 `
4 n' y/ k5 e9 g  p, a3 L3 P3 m  CEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:; d! Y& r" G. c! @- @
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 i$ {# Y* v! p0 C9 s$ F# g
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。1 l3 q/ ]4 x$ p/ _* G4 E. A
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
/ _0 s2 x  }8 z6 x7 z, N5 M' w# Q7 X" b经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说! i# R( q$ A" ^" m. f& w
PEI_RESET_PPI myVar;" V! A. O3 y. x" n% D& i' j1 h
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
5 x/ ^+ j( W2 ^1 z
+ M; Z. s( I  N0 O6 g: ], V* b解析   EFI_PEI_SERVICES **PeiServices
) ^; [9 y1 x0 C+ j- e可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-12 08:07 , Processed in 0.056361 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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