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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
. z; h  U7 k7 C1 O- S在下legacy bios没做两天又EFI了 ! ~' `" P9 j1 {( ^( x, D
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
' `% C+ `# \/ C' I* t
; \0 p6 ]. O9 N1 N: ctypedef1 _8 L, L/ f+ Z& V, v4 p
EFI_STATUS
4 E" {. T2 J  i5 b8 {(EFIAPI *EFI_PEI_RESET_SYSTEM) (2 }) ^- h0 i; I* A- E$ G
  IN EFI_PEI_SERVICES   **PeiServices
/ w" v5 o' g! ~  );
$ \2 n8 G- n) E7 E% C8 z- @0 `3 ~% v; ?# k& x! p  @
typedef struct {
( R2 W$ P5 l* t0 S/ _  EFI_PEI_RESET_SYSTEM  ResetSystem;
8 l, b  h+ f- I. I} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    9 l5 r' D$ L3 v' x$ _
  2. EFI_STATUS$ n; h. u: [# Q# ]% l8 f- o; L
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    . c5 J: V* t- G, E; b5 c2 ]. Z) p1 L
  4.   IN EFI_PEI_SERVICES   **PeiServices
    - [" x# c9 c! _1 r3 |* C
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
+ t" |3 y1 o1 e( X. F( f8 G& i3 K是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
" G( ]# z, D8 r! o3 |. v; U$ B$ g4 m8 L9 u8 a6 ]( D
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
% Q$ R/ o) b- q+ `. HEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
% z# i0 A' J9 P2 f+ b第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
# {; ~) U$ S1 V9 q$ T第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。' m. {- ^; b8 s
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说2 C$ [6 _7 Z9 D' S
PEI_RESET_PPI myVar;
) B, T* M& ~& J6 @  N3 p- I3 U就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
; J  l* g( P) J7 B. R* e
! `& v( _3 u6 Z, {( x解析   EFI_PEI_SERVICES **PeiServices
/ V2 Z$ g6 L2 H) \可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-8 10:56 , Processed in 0.150970 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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