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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:0 R9 @( G: |) y, P1 D9 Q) R
在下legacy bios没做两天又EFI了
; \; ]- x  {7 K9 z, A4 J1 f) r我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!: ]8 l7 B" o) e6 i- I3 |6 u% t6 S! H

: G) |$ ]+ |- x1 v: V$ Vtypedef
* c1 Y6 r* Z$ I& M9 Z& x3 uEFI_STATUS
- I* Q! @' e- T! V5 y* ?(EFIAPI *EFI_PEI_RESET_SYSTEM) (8 o" Q- c; h# K
  IN EFI_PEI_SERVICES   **PeiServices; L& B; w& v# U; A& S$ s+ j" P8 P
  );7 }  ~, u# \- V% x
1 X2 |2 P, u* A7 u
typedef struct {* n' g' z6 S+ ^# m
  EFI_PEI_RESET_SYSTEM  ResetSystem;
+ i8 U4 P* t* O+ o' i. q( ~. g} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    ' u* Q8 t# w4 A9 n, Y
  2. EFI_STATUS; l$ q( |( S) t$ n- ~
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (  ~8 Y  T5 U% s3 }' M6 G
  4.   IN EFI_PEI_SERVICES   **PeiServices
      c8 y+ d. U! M- i
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,( l: {  N" Q1 {$ f! b6 V  E
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址" w. a8 q- g6 p0 ~# ~6 I

) ?# V/ q) M9 hEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
. w7 f2 g: {9 M( dEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
; Z" d9 X$ k. a7 t第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。& Y# ?1 n. b. S( |
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
9 }" P7 v4 X8 N5 w5 `$ h3 M经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
; y& d, z3 }0 |2 h- a1 M, OPEI_RESET_PPI myVar;2 X" l% B% I# J& J9 m% A- s) p3 q
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。' s: H+ \* L4 d5 }% I' K, p- }
' k% c# N# o9 s0 A8 i, t
解析   EFI_PEI_SERVICES **PeiServices- c7 p6 N# r, G$ O
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 05:39 , Processed in 0.063240 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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