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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
1 \/ A8 M2 F3 T5 }# v% }在下legacy bios没做两天又EFI了 + a0 o0 U1 K! l% [
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!1 i4 p+ j" C$ j! ?

5 S( c- _- D1 ktypedef
* ?% X/ {4 N4 \# X9 ?! WEFI_STATUS
" I, y0 n1 U* [3 A: E$ D(EFIAPI *EFI_PEI_RESET_SYSTEM) (
" H" D! y$ u  t/ `! M% q# G  IN EFI_PEI_SERVICES   **PeiServices9 p9 C5 [+ _# H5 ]  }
  );0 M$ F8 ^* B4 }: z( ]9 F
6 ]$ O$ i5 W4 F# Y+ e1 V2 n# J
typedef struct {
# ]7 t9 u, s$ E/ J: n$ _; N  EFI_PEI_RESET_SYSTEM  ResetSystem;
/ v; y/ G- |$ R+ O; [- [( {} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    $ k: o8 l" x9 r0 }
  2. EFI_STATUS
    # d+ Q" |$ p& W/ ^
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    - i2 d% V( S& {( M# `) A" x
  4.   IN EFI_PEI_SERVICES   **PeiServices! T, F5 {6 g1 H9 H2 l4 ]  a
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,- J5 `# A* h% Y, m. F4 Z
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址, U: r$ K) V& w& w& |
. c9 n# F* `  r0 _3 J! X5 }
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:" G* \) e6 F5 y$ g. 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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
$ M+ ]  O) X5 V/ h第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。- [8 O8 Q! d$ J6 G8 A1 `
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。- j7 L! w7 ~4 v: o. {
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
" L3 _; i/ F( o, v3 i! SPEI_RESET_PPI myVar;- j: \4 s# i+ k( R* p  B" J' s
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
* A. v" m9 l% |2 N9 O' e* N
6 p' W! p& r, x2 Q+ B$ j2 N解析   EFI_PEI_SERVICES **PeiServices
- V9 ]4 F$ ~$ P可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 16:21 , Processed in 0.689921 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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