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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:  A- P) t4 h9 q8 m/ O- Z: U1 z
在下legacy bios没做两天又EFI了
. ]: W5 |" s' a* C6 N$ p我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!7 Q! _) [% G+ g+ p+ d

8 v) Z5 p6 |% {, Q* ?; H8 {typedef
9 R' `! C( g0 v# |& kEFI_STATUS
$ g/ t% T, n8 P3 y) n* C& X  [+ H# C(EFIAPI *EFI_PEI_RESET_SYSTEM) (- @9 c; c9 O% j$ S8 p
  IN EFI_PEI_SERVICES   **PeiServices- o8 E% ~2 K: M
  );
3 ?, q& ?$ z7 S5 J: R1 a( Y9 u* w$ _
3 c( p7 g9 L0 z6 R% j" Y. Btypedef struct {3 k6 e2 T* ~/ `' M! d
  EFI_PEI_RESET_SYSTEM  ResetSystem;0 t  z% R' ^4 q+ T6 }) E
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    $ m- J0 U6 b- W
  2. EFI_STATUS
    ) l8 O( c" U) z* g- K/ k' S* `
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (, h2 P+ b9 A/ i9 p: a
  4.   IN EFI_PEI_SERVICES   **PeiServices
    9 K9 `2 ?5 b/ @3 G: N+ U/ O) N
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
( `$ q5 V" v# X! m: x, q1 K- |) v是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址; Y7 W5 w3 y! a

6 F7 b5 M% \! xEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
# N: ]! x; Z' R' P2 S- I$ l8 k2 `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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。* m& j# g" V: X
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
& W0 J# p' G) i3 g/ B第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
0 L& L! S( p6 f5 @0 j经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说" ^9 ~& k6 W) q8 Q/ @
PEI_RESET_PPI myVar;
5 ]# P5 j( b, j就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。$ {, {! I. W! l. p4 m/ ]2 V" I

  ^! O4 |# j& `解析   EFI_PEI_SERVICES **PeiServices
& w1 B3 f4 E, b6 S可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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