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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
/ U3 U$ V5 ?  e  p$ X在下legacy bios没做两天又EFI了 & |7 [7 {0 n( w2 F% g" N. R
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
. O6 @# x/ Y  g+ `4 O
: J0 O- G6 P, L/ ?2 e/ m2 X; e. i6 |typedef
8 j6 Y5 ^2 y  B+ {EFI_STATUS
3 ~6 z  t! w# R' n! Z) b9 q(EFIAPI *EFI_PEI_RESET_SYSTEM) (
) E6 Y; c3 O/ g4 P  IN EFI_PEI_SERVICES   **PeiServices
4 h! N6 D& f$ C+ J* f4 N. I: c  );6 g* Q7 Y9 ?# c: `7 p0 B

( e$ D6 y# s- w/ N; t; T, Y+ Wtypedef struct {; o+ L2 J# }$ z# D
  EFI_PEI_RESET_SYSTEM  ResetSystem;
# k4 y7 D; R6 y- m4 z} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef( p+ q7 l1 j7 L1 o
  2. EFI_STATUS
    ; A7 P' W* K, u  ], {4 h- c
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    ( W" b$ U# N" U" {
  4.   IN EFI_PEI_SERVICES   **PeiServices
    % h. t. Z: m( ]' A) o
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
; P$ Z( W; d0 }2 W+ ]是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址$ N' g! K  O% j+ v% f
: ]  O- J' t! X7 p) q: N1 ^6 X
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:! q' S- h( t) |! O
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
8 T9 _; }% D; O第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。9 ~0 I& i9 B4 r6 D0 l
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
# i5 E* K3 W2 a6 x% l% [经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说7 |( q4 H  D1 Y, v
PEI_RESET_PPI myVar;2 e, |( f' o7 m- G5 e
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。9 F1 L* v6 R# A1 t2 i  C
* n3 A0 W' [, p6 l6 A: X! X8 j7 y
解析   EFI_PEI_SERVICES **PeiServices. A6 j1 W  p7 F1 E5 l
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 09:11 , Processed in 0.118672 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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