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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
: c! {# _, S. c( n/ K& m) k在下legacy bios没做两天又EFI了 # n# ?$ p6 }! `7 i7 l* f, _, i: w; ^# }
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
3 z2 P! |- l! h0 L5 Q' ~; }* L( P  j/ [& ~" c9 y/ }/ Y
typedef
  s2 m$ H  H. e5 WEFI_STATUS, J) k$ r% M$ o- b
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
* d. @' ]8 n. {1 i' i! z  IN EFI_PEI_SERVICES   **PeiServices
3 N" ]8 |$ X3 k9 q  );6 {, x4 }* Z) N9 X. W6 M

7 c- `+ k  P. o4 }typedef struct {; R$ Q/ ]: v7 \
  EFI_PEI_RESET_SYSTEM  ResetSystem;
4 H8 @5 N5 @, S+ ]$ X1 |( b" g} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef# P0 e3 Q) Z9 U- E( W
  2. EFI_STATUS8 m. B3 w8 E3 H8 K- c/ H% N: y
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (/ P1 ~  h8 Z. `% Z- H8 ~" O: l
  4.   IN EFI_PEI_SERVICES   **PeiServices
    8 Q0 P! K& A  \. ~: S
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,
0 {$ j; M% W* F: u是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址; g& W/ C% R; D" p) r

( d8 Y7 ?' }9 \EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
* |) p: s% i0 y( J9 |6 REFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
1 ]! i  k' w, \' l( J# j- Y第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
5 T1 s5 T: O: i0 i- M# ]& m. ^第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
  _& q3 G3 K# B2 ]/ ?) q" s. {经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说. a- B- o+ @) T; W/ j/ J
PEI_RESET_PPI myVar;
% k) p" n( n! ]& M就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。* v* j# \5 ]0 C
7 n8 g; |/ o8 j. C; u
解析   EFI_PEI_SERVICES **PeiServices5 @; L9 x3 K8 |3 x& p. ~  U+ D
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 08:34 , Processed in 0.298518 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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