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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
$ p7 V$ [, L5 R: {" p; {/ N3 m: r在下legacy bios没做两天又EFI了
0 Y8 H1 r3 a0 k, o$ U& S8 a我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!- A# p& r! R; I& _5 l8 K% h' X3 ~
3 V! D5 |2 {& X2 k; \
typedef
' E2 t; T7 F2 hEFI_STATUS7 r- [: I( k  R) j/ }* R7 P: B
(EFIAPI *EFI_PEI_RESET_SYSTEM) (8 y* C' l; _' @1 U% S( U
  IN EFI_PEI_SERVICES   **PeiServices
+ j4 P! y5 |0 V  );/ p; m: }' S, Y3 E; d! A( M- m6 j
4 a  O4 u- H. J  n. X
typedef struct {
+ W# b$ H( l+ v1 `: _; n  EFI_PEI_RESET_SYSTEM  ResetSystem;! }8 F- e2 B. ]% b5 `- e" A5 E
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    1 L& m7 [3 z6 q0 b% E' a. I5 L# d
  2. EFI_STATUS( P5 ]9 v* }" l0 e
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    5 _- S' F% f  m+ g7 O/ W, _4 x
  4.   IN EFI_PEI_SERVICES   **PeiServices. _; [* V4 v' M3 A0 k, Q- v: s
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,; t( F$ h9 \2 R. A9 l
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址8 B: ^1 C) o: ]$ ]# |

* [# D2 ]7 Z2 TEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:9 D1 N4 s7 x% ~9 g. v
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
3 E/ a; a. i! K7 S+ D7 I第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。9 G0 X; [' L& s
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
% Q+ G, s8 [6 U( w9 E9 t经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
% {5 T' i9 Z' ~3 l$ V: D* JPEI_RESET_PPI myVar;! Z7 T. b. v8 e) ]9 Y7 m- l+ y
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。7 P. U, G7 `2 R0 _: P! g

1 n4 H, ?$ K& y* Q* b: a; p& S; `解析   EFI_PEI_SERVICES **PeiServices
* y- `' s4 C* J- T! p! Y+ ~可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 22:43 , Processed in 0.342347 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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