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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:& o1 J0 Y; W! G9 O
在下legacy bios没做两天又EFI了 - G; R( u, i0 _, R
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!* ]# t" s, @5 \  Q

0 C( N: v8 t: _. h. A: Etypedef3 P3 Y: c1 l1 B0 X, n7 k
EFI_STATUS& F. g$ d$ \) M  w- b4 ?
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
$ b* _* U0 P* C* S  IN EFI_PEI_SERVICES   **PeiServices8 w' k9 U+ t- v1 t
  );
6 Y6 }. F3 _2 T, w3 Q' I7 p9 C: \6 t: x
typedef struct {; ]; ]1 Q- a" A3 r0 S
  EFI_PEI_RESET_SYSTEM  ResetSystem;
1 S5 q! w- }; d3 F) |} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    : W/ A( S4 p4 {; S
  2. EFI_STATUS
    1 n+ U- D4 v4 ]* ^7 x- z( k; E
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (" j* u8 J0 A/ t" h0 }1 j" ~
  4.   IN EFI_PEI_SERVICES   **PeiServices
    $ W/ h5 T2 d; g6 \& P, R) |. L
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,  G5 D6 I1 z, e$ y8 [  T/ q+ U. B3 u
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址7 }$ x- r0 s" H+ m0 d' D0 D

5 Z" D1 ~. E0 F6 |! ]9 p& [, {' PEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:' X5 u( u' G; Q7 b
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
' O5 U. R( d1 j9 e+ ^  Q; ?第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。9 h+ h) U; `- m: x4 i2 r% q( C
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
3 c; X( o+ X; N) g/ l: f. U+ G经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
4 p! `  j; K3 k5 ZPEI_RESET_PPI myVar;. `+ [# O0 a! o4 R
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
! e  p9 c: L. K" s, b) t
5 p9 k& y9 j- L% c& y1 _2 f! z解析   EFI_PEI_SERVICES **PeiServices$ t3 K; F4 d9 X
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-8 08:33 , Processed in 2.716667 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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