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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
5 y3 i, u6 S3 l6 B# I在下legacy bios没做两天又EFI了 ; D& `+ S' G1 c. H2 J
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!; l4 n. l& A! ?- u3 B$ P

5 H' o# Q6 A4 k. L4 d; J3 P6 H, xtypedef) b% v! A. T2 U+ ]* }0 B
EFI_STATUS
8 m$ \8 \6 U+ }2 V8 j(EFIAPI *EFI_PEI_RESET_SYSTEM) (
. A# O# r( k1 J0 j9 c0 U% b  IN EFI_PEI_SERVICES   **PeiServices) h6 X1 a, m2 r& Q) P# V
  );8 {  m6 u8 y& H3 g5 I; @% I* r
. r2 {( b% n: J! X
typedef struct {
  T2 I; @( E1 H4 x( h  EFI_PEI_RESET_SYSTEM  ResetSystem;
0 \8 |1 c6 Z9 {) w! ^} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    1 F* O* Y1 N2 |1 ]
  2. EFI_STATUS. [  _! L8 `/ y! W! V0 D9 V  I
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (9 b) a6 ?$ R. P+ D) s
  4.   IN EFI_PEI_SERVICES   **PeiServices. O$ e* i) ~9 M
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,; r. E. i* ?6 x
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址! S$ g8 \" z2 S. o

: ~+ A7 y# q) S0 N' VEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
& _& d; C+ G) R' t& O" tEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。, d/ m1 J# g' y
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
4 |. o8 Z$ \4 Z) k& Y) L: E5 E9 `第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。" D; c3 N. I( r% R* w5 h+ G
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说& n3 D& r; W- O4 p  Z' q
PEI_RESET_PPI myVar;, y5 w: _0 R7 d( F' U
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
+ ^5 i  R# ?2 c2 M- y- G1 a/ x& _
1 g7 P8 \1 @  _+ ?( i% q解析   EFI_PEI_SERVICES **PeiServices5 C, h( ~' W! q- X
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-22 00:28 , Processed in 0.085364 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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