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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:, t# t6 Z* v- S8 ]+ W+ n
在下legacy bios没做两天又EFI了
1 u% Y. v- J" X* x: U# {我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!1 o; s% E3 n  F. y" n

% K$ U, Z: U' Y# Qtypedef5 e" {0 c* H; e$ Y7 x
EFI_STATUS7 ^% F; G' F1 h* W; A, X' J; ?
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
! ?; Z" l, v" ]  IN EFI_PEI_SERVICES   **PeiServices
1 Y7 m6 e( M9 v! l, y  p  );9 j; c/ a% ]# N

* i4 r! p$ w7 C, f! P+ W3 a$ T3 ltypedef struct {
% I7 K* n0 j0 R0 z  EFI_PEI_RESET_SYSTEM  ResetSystem;5 {6 S4 P, B& A
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef  c+ `) Q8 w8 z5 N. M# G$ [. Q
  2. EFI_STATUS' P* }) x0 ]: V4 c6 O5 @' M7 `
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    - ~* q+ f% @# t7 ]( ?
  4.   IN EFI_PEI_SERVICES   **PeiServices( T; u* R' M/ g0 N! x) O( g
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,+ J0 c+ Z% c3 z
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
. T1 q% w% e8 t
$ P" u! e' u5 W4 PEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
- h# x) E# n- CEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。! n- ]0 [+ c% ^- ~5 O& Y
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。5 ^! b" ^9 ~; p& I* o
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。9 ]" Z2 L0 N2 x* |  d
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说2 F/ |* Q. ]+ F, x
PEI_RESET_PPI myVar;( P" }6 y- n; i7 c
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。  u) \1 C* M! x5 r4 o  D" B

9 I3 e% E) J2 w解析   EFI_PEI_SERVICES **PeiServices
! V: Y; p* t; b% c# r可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 15:25 , Processed in 0.111460 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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