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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:, k, B  c' V: t+ J  J
在下legacy bios没做两天又EFI了 1 |) V3 }. ]+ |+ s7 m8 _
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
* Y# {2 `( U+ x! [  X& F/ ^/ i6 p1 ]( S  q5 i
typedef
. G+ Y. B% i' {1 y8 BEFI_STATUS
( M1 j) ?& G( ?(EFIAPI *EFI_PEI_RESET_SYSTEM) (
# e7 Y+ M5 N1 s2 r# c( T9 R9 M  IN EFI_PEI_SERVICES   **PeiServices8 v/ c( J4 ^3 b) y4 T4 M
  );4 x; d' j2 J( N- D3 z" q' u

$ ^+ |6 @* `  b1 W$ Etypedef struct {
) b" ^+ Q; P6 H* C' ~4 j6 ~  EFI_PEI_RESET_SYSTEM  ResetSystem;; T- y, w' N/ F4 k3 i& B& p
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef, o5 E7 z; ]. ^* q' L( C5 ~# |8 W
  2. EFI_STATUS
    0 Y8 z7 S1 ?# l1 r- e
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (. e4 S2 e$ b! A: [& R
  4.   IN EFI_PEI_SERVICES   **PeiServices, d0 j" K; P0 ]# T
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
) M$ ]  J5 I5 N1 R& X  ?& n是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
# Q$ _$ _, D& h( y( q$ X4 i: o7 R5 K2 V: {3 X+ \
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:$ C" U# I- F# t1 F
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 H- _+ g9 f; D0 U/ D第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。& Z7 O5 L6 \/ z; h
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。5 K4 D; W- Y- l1 F: w, q( S
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说  |/ A( }9 C& `/ k, U, q
PEI_RESET_PPI myVar;! s1 V) q2 ]8 [* v6 e; O; t* d) b, R
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
! f$ t: v% ?; m
; g" G1 H; Y- l# O' C$ u) l3 A解析   EFI_PEI_SERVICES **PeiServices
2 S; ^7 a  z: c+ M  _, T4 b' U, B可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-29 06:11 , Processed in 0.062821 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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