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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
. I% P+ `7 b, _2 M4 A# S; \在下legacy bios没做两天又EFI了 3 @8 G) w1 h8 Y6 B
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
6 A: G9 f* A  M* \( ^# c) o
  {% Y( N& Q! }$ O) z9 D9 d$ Otypedef5 J: B) ^4 P( `! K: P5 Y, x1 B
EFI_STATUS
: i' i' s% m( H+ P+ g(EFIAPI *EFI_PEI_RESET_SYSTEM) (
/ ]9 R; i3 z8 f( O# @, E3 i  IN EFI_PEI_SERVICES   **PeiServices
9 b, e4 w* p: Q2 G, c, X4 V  );) K. |+ A3 y5 p

# E8 Q  S% L8 u4 Y) E9 F# etypedef struct {
4 ~1 [0 I% I& @8 |; a! k  EFI_PEI_RESET_SYSTEM  ResetSystem;
2 j' O6 B! Y: m1 S! {; c2 W} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef6 S  h# K) W5 c
  2. EFI_STATUS
    , S7 L+ @' z1 C1 o2 L; ^* @
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (& u' T; A4 C- W4 h# @
  4.   IN EFI_PEI_SERVICES   **PeiServices$ w6 {% ^( n* S/ F
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,, X5 r* h% U. f& N
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址1 W7 D: T5 z" r9 |  M

' R: l' I( ]8 c9 {2 L( cEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:7 }+ j8 f6 x! z/ Z& Y' o, }7 J4 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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。. D0 L5 e! x3 s; t& \$ `: h
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。3 O6 L# s8 f  a0 |
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
' x. E* w: N/ P5 O# o0 O; D; x经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说. N8 X% I8 X5 a+ k$ q  g6 _
PEI_RESET_PPI myVar;6 T  ^! I8 W8 N2 \/ f5 I/ M1 i0 P. j
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。, ^6 `. R) h# ?- L9 q9 O1 k. W4 }8 q
+ \- r/ H3 D5 e
解析   EFI_PEI_SERVICES **PeiServices
% h2 `% S; y9 ~2 }可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-12 06:29 , Processed in 0.031725 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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