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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:$ Q& S( `  V; `. v
在下legacy bios没做两天又EFI了
- x5 ]; q/ }* Y7 A0 U$ f# s我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!! ?# O" M0 w5 c  l" C3 x
) f$ c1 r3 `: W! G
typedef
; ~8 Z8 M6 W- x& ]) h/ v" gEFI_STATUS& t2 ?2 k: z% _& j
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
6 G$ {4 q- E1 k6 k1 `1 W7 T, N$ d9 Q  IN EFI_PEI_SERVICES   **PeiServices
) M8 G5 C$ ?( [  );
3 N* h5 f% i4 P* ~! I+ D4 o
' e0 g* O; L/ U8 l* D1 t6 B2 J/ V( J7 ]typedef struct {
% b9 f6 u8 V0 B- l  I& d  EFI_PEI_RESET_SYSTEM  ResetSystem;$ c* Q$ Y+ l5 v- ~/ A# @& X; M
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    8 c) J6 ]2 y, |5 n& [
  2. EFI_STATUS4 i3 x" q1 p4 D0 O
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    8 `' F- M# T/ m
  4.   IN EFI_PEI_SERVICES   **PeiServices) C% E2 S, m3 K. v# \: A
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,, C  t+ [# ?0 `9 z, f# g3 H4 j, X( W6 @
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
/ ^  q6 L) a- R3 d* @2 i  e& S& T/ K. ?5 A; j* z
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
) o% G+ H  `1 l3 M# Z1 lEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
( o) @# @- l( k+ c1 D5 I第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
0 ]$ w5 o2 b7 o1 t$ ?3 J8 H% ]第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
2 ^& x6 k8 [) {! W经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说; H% ]5 X% R& C# x4 f- ?3 e
PEI_RESET_PPI myVar;! H8 |: l9 [- H" O, q& T
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
/ \! V/ Z4 q* {2 i, N! Y8 {& \- ~7 [- G9 r4 k0 k* q- ]! M
解析   EFI_PEI_SERVICES **PeiServices
( \5 T4 r* N  w+ O6 V% y1 u( g3 b可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-29 04:13 , Processed in 0.110688 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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