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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:5 M4 |- k8 v: u( M; v; o  z
在下legacy bios没做两天又EFI了 : B: m# h& J2 V+ y) D4 t1 E
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
" r7 D' ^! l" [2 B4 \' i0 G% ]1 n7 W% u+ c# @: X0 Z
typedef
: V: G) v* r! PEFI_STATUS
7 L. A1 l, X  C' N(EFIAPI *EFI_PEI_RESET_SYSTEM) ($ @9 k; l' w7 |( p
  IN EFI_PEI_SERVICES   **PeiServices
9 h, \5 d. ?, k# p8 X, t7 B  );
) R% R9 o& B1 r+ d+ Q
! y. W+ k! v" H; z! u1 otypedef struct {. |$ V: r7 n% ^! H/ k
  EFI_PEI_RESET_SYSTEM  ResetSystem;
2 ^# a. H! H! Q3 ]: L9 ~) K  D} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    9 E; N4 C- B- k% ]3 s
  2. EFI_STATUS
    0 z! `5 c; r6 J
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    + ?0 e" ~1 `- k4 C; J$ a% e
  4.   IN EFI_PEI_SERVICES   **PeiServices% G' h+ U5 ~2 N& |; Z
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,5 H1 b, J$ S, [( y# Q3 y6 a
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
6 p, a0 G. S; e0 O$ L7 `4 j
# w) O, ]' N1 K7 ^EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
* A, C4 A% d" }4 E: N) {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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
3 B- z* N5 N8 i1 k第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。6 V; J  I4 j  ~  m4 ]
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
2 v8 n% {* `: x  K* `经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
5 E* @2 u4 q/ c( h$ B- h9 APEI_RESET_PPI myVar;
! C$ z1 ^; h% J0 g就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。: i' |0 ^, v1 C+ a9 N% c

7 E' Y) U6 O5 Y4 _, C( ?) B. G解析   EFI_PEI_SERVICES **PeiServices9 V/ Y3 n/ e6 z3 I2 t/ t$ q7 h
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-25 03:31 , Processed in 0.127922 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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