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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
& P+ N6 X+ |2 J7 M0 Y在下legacy bios没做两天又EFI了
, t+ l1 C  x+ f我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!& _$ F, V2 ?% {$ Z+ q
! a; n9 p2 @9 L6 q
typedef
, x8 v, r9 }5 N  L4 WEFI_STATUS! V" q; k" k4 o
(EFIAPI *EFI_PEI_RESET_SYSTEM) (( x. L! L. ~; c2 [! l8 F- P
  IN EFI_PEI_SERVICES   **PeiServices2 r' ?) f% C: Z6 q# r- F/ `+ T# c* F
  );( P( ^" G* Q. ~1 s; r) x$ V

) @8 G& X! i1 A1 Wtypedef struct {
  M6 c$ s6 x* O  EFI_PEI_RESET_SYSTEM  ResetSystem;
( M4 p4 e" p3 E' w$ W} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef% H. p2 v& _* i1 \8 ?( M7 I
  2. EFI_STATUS
    ( `1 l! X+ B3 A' K0 D- @4 A2 I
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    : H1 e! s! x3 o5 t5 R/ m- y9 s2 |& n
  4.   IN EFI_PEI_SERVICES   **PeiServices2 k3 s+ d0 M! Q
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,* M9 X% _# K* p8 A
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址6 d2 B, }7 `' U

3 A* U$ I" G+ d0 x; G& y2 D8 f. T; [/ cEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:# b# o* B' |+ N: U% ~5 I# v
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。5 J% y- u3 V  V4 x
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。8 U& t  x1 f) I. |
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
7 ]" T3 O+ W" H8 H8 M经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
2 o4 N2 l+ Y, ^0 mPEI_RESET_PPI myVar;2 z9 e3 m/ W$ L* T  }7 c8 z  {
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。& h3 |/ v+ n+ |  K7 p8 I
" e( A/ e& v+ A5 P, V' h
解析   EFI_PEI_SERVICES **PeiServices2 V% R7 Z0 j& m1 b5 w: ]' B( r
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-21 17:20 , Processed in 0.200462 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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