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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:9 ?: k" G" h8 C0 Z) B, Q  @
在下legacy bios没做两天又EFI了
/ n1 y* N4 x/ D- j1 Q我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
- \" o7 }" M# _6 E9 j* K2 X8 S" [5 ?3 \5 X1 a
typedef
$ O3 Z7 A* B, P; WEFI_STATUS
3 r' e7 v2 b2 d, q5 s1 x. @(EFIAPI *EFI_PEI_RESET_SYSTEM) (8 D  b% B3 O% T. v
  IN EFI_PEI_SERVICES   **PeiServices0 `: g5 E8 t9 }. `; l, @( n
  );
: I0 e/ z& Z" q& s/ Y6 F) [! @
! B0 \5 d% a& j4 Z' V0 gtypedef struct {2 `8 K; ]* x" b, r7 ]$ u
  EFI_PEI_RESET_SYSTEM  ResetSystem;
, K9 r  v# q/ V6 ]7 w; w} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    0 Z5 C: G- A; Q7 Q* N
  2. EFI_STATUS
    6 v" o6 x' p6 P  b
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    ! y' R! O* l6 D4 j$ p$ x! ~
  4.   IN EFI_PEI_SERVICES   **PeiServices% I; N; h6 P, @4 U2 j# u2 M1 q( Z* e
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
0 S. J7 ?  l" d是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
) K  ?# z! o5 W3 ]3 h
% g( n$ N0 j* [- A- a  k8 _2 i  IEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
1 j& u, o, W9 p0 xEFI_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- b& \2 n# |6 ^; c+ i# f+ K; Y7 n. e
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。% |6 z; p6 Z% P4 R2 a
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
6 [3 B" I( w3 U0 n" Z0 t经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说, W5 T" |. {# `" K4 z( H. d. a
PEI_RESET_PPI myVar;) N6 `# u2 B3 F( t- d7 Z
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
! [/ |# R, R7 K8 M1 n# O( u/ [
+ |+ q: F$ Z" H" m" a- Y解析   EFI_PEI_SERVICES **PeiServices- k- G' m) Z. j% ?* L
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-12 06:16 , Processed in 0.024633 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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