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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:" X2 h# C" V- T7 K
在下legacy bios没做两天又EFI了
0 Y7 J$ [! H' \" L6 o我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!* w6 G& \( ^; T! i% z$ E" [

& V/ }! {; l: atypedef
. H$ v: E! n3 Q1 mEFI_STATUS
/ D5 E* w9 }/ I(EFIAPI *EFI_PEI_RESET_SYSTEM) (, U0 p7 }5 o  ^# u  N; F8 k/ ^
  IN EFI_PEI_SERVICES   **PeiServices  V% S$ F% L" l2 t: K0 O
  );
* W2 s# N5 Z% B  I' H: J& @! l' U
0 p* W  Z& q& J8 Xtypedef struct {
5 s! m# I& x! w5 `" i! ]  EFI_PEI_RESET_SYSTEM  ResetSystem;; G, `0 l( O+ p# s$ L- R# `
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef$ x8 \! B; J8 t+ ?: O) q
  2. EFI_STATUS! w) L9 j  i! P$ j# i( ^0 \1 a
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (' r' n/ Y7 x1 l' l# B0 K: T; x
  4.   IN EFI_PEI_SERVICES   **PeiServices6 j. I7 \5 Z6 A8 ?& B
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
# M' R4 u' V: V& `# j9 |6 P是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址1 b& D/ u/ X5 X2 A9 r$ ?5 O! e3 A$ o

! u* b9 p' \0 `1 {5 ^EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:$ P4 N6 k& t' ?. X& D) F$ ~
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
) I$ {/ b& b- [6 F" P/ S第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
, S" g' G  D0 c5 F) y第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。5 d+ I4 Y4 I0 `) Q4 t6 l9 z/ S
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说6 Y+ O/ S- E  N/ K. D) v% G
PEI_RESET_PPI myVar;
  S* w' K: i3 ^( @就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
3 H# k6 P- F2 l# \% U0 A! \* M7 G( @# L# `' J* C7 \6 j
解析   EFI_PEI_SERVICES **PeiServices
. H9 y; L' h/ Q4 R; j- B" Y可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 23:58 , Processed in 0.038048 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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