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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
! a3 n" o  r/ ]" j: @0 _在下legacy bios没做两天又EFI了
% G' Z, Z, ?: O' ?. M8 }, K我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
( p% ?$ k4 z% f* c- s! w, P* X! v1 |! y% ^
typedef; ]7 p( A/ s, o! \3 M3 a+ S( |
EFI_STATUS$ [( o6 J$ q! f
(EFIAPI *EFI_PEI_RESET_SYSTEM) (1 o$ i/ U; h9 \0 X
  IN EFI_PEI_SERVICES   **PeiServices* P( [: V1 c2 a$ j( r1 u4 D
  );7 [8 U$ L* F" `$ _' Y

: w3 L! Y* k: a8 H5 z8 G9 rtypedef struct {
* I5 w6 p5 W: h* L  EFI_PEI_RESET_SYSTEM  ResetSystem;* L( h* x# n) {6 C0 {
} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef9 R# n" i5 y! z; [+ `
  2. EFI_STATUS0 _3 o9 n7 v) q* e3 [  ~4 Q3 t
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (. p! p# L0 i, |1 ^
  4.   IN EFI_PEI_SERVICES   **PeiServices
    & u$ }: U8 o1 W5 B. v* n
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,7 k4 J; B. k, P1 ?5 `) [
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
& a  {: P! @/ `0 W/ O: I! ^$ B( u+ w( d% u$ |7 F  z/ n! l
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
% t, h4 M8 Y, ^. S: mEFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。
+ N1 ?* t/ e7 t6 N8 f5 h5 o第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。- {; d# v+ Z1 `
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。
9 A& N; _) Q, A: l( G, i经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
. Z+ M- @7 v+ M7 J& z( c) w7 UPEI_RESET_PPI myVar;/ C& I2 A/ ]8 R" a0 D: T' w$ L# D! e
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
6 @7 I* u9 q7 o5 G4 R1 z8 P* w$ Y' N3 Y# ^6 W! V9 t; O
解析   EFI_PEI_SERVICES **PeiServices
8 P4 k1 Z1 ?2 U' q7 a可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 16:20 , Processed in 0.120590 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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