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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:% O% n) E* Q5 }# b1 C* t
在下legacy bios没做两天又EFI了
  t7 y  ]$ _7 f+ o" u0 ^我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
3 W' x1 }! m; a* h7 F  f4 l8 ?5 g  R; `: w4 H
typedef
' K  ?* M% l8 R0 eEFI_STATUS
; b! x0 L6 h5 B- T! |(EFIAPI *EFI_PEI_RESET_SYSTEM) (
+ F; d9 ^# Q9 i2 q  IN EFI_PEI_SERVICES   **PeiServices
, ?/ m! V' t0 u+ S( R" u4 D( x; ~* o  );
' J9 T8 h0 Z( ~5 H8 n
3 {; b9 o8 [: j2 v8 z' Ctypedef struct {& s- l/ P, M. F5 e6 j
  EFI_PEI_RESET_SYSTEM  ResetSystem;$ L; b: O, U9 h! \
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    5 [' U2 v% O% h2 F
  2. EFI_STATUS
    # O1 ?' a0 ^$ N; J  F+ U0 ?# d1 C
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (6 W& P& x4 _# M2 T
  4.   IN EFI_PEI_SERVICES   **PeiServices
    9 L; |  W9 i3 |" s9 T& D2 S
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,) b+ _& K* i# U7 V
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址: N$ o) V! ~  [
3 H4 J# ^' q& A+ E* z; `9 N9 E  ^: r. p
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:& Q. q5 h# {4 {" l! Q3 s
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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。- s2 a% _, Q, R5 t/ _; x
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
) A- O! Z1 c* |  S3 y/ s' `第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
6 X  o3 |- b3 c) h( d& j' i经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
" L3 X7 u, |+ O3 zPEI_RESET_PPI myVar;4 h3 P+ @) t; N( j0 u3 e
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。' {- R) C; T8 d) e/ E& B

* K4 q( k2 v( g: T1 k7 p解析   EFI_PEI_SERVICES **PeiServices9 r  |0 a+ r6 i4 Y5 \
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-20 03:41 , Processed in 0.039170 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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