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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
  q) R& }1 `1 a在下legacy bios没做两天又EFI了 ! Q1 P3 N( {; }$ ]% J& a$ c
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
" f' c$ W1 }& I9 u- _. m$ P$ Y
$ o, x1 |: i) a8 n6 l) Wtypedef
! t" L/ V$ [9 I' u" ^* b; {EFI_STATUS, C; a8 P" J% Y* ~0 K
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
* {  W% u7 W! y7 a/ w  IN EFI_PEI_SERVICES   **PeiServices
1 ^; a2 [2 |7 i6 l' `2 C' k6 Z* d  );
1 ?3 o5 @* n/ b. f9 H# Q7 N% ]
typedef struct {6 q( a8 E4 T- b8 j
  EFI_PEI_RESET_SYSTEM  ResetSystem;
. C, f' D: U9 k0 _! g/ G} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef
    " K& q* {0 R7 |9 }3 `) j6 ]
  2. EFI_STATUS
    , B1 R& A- C8 J+ h
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (
    # U, A9 b; o' `% z8 O6 c
  4.   IN EFI_PEI_SERVICES   **PeiServices
    4 F* m+ B* f0 C; I9 E
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,% b, j3 A+ t$ ?, j
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
* ~. [- l4 U- o
$ z) ?4 _9 t3 o. AEFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:
% k$ s; R$ J# P! Z) C( 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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。/ O$ H2 F  J5 H, R( j
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。
2 u% V' ~3 E- t4 Z" X! ~第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。! L/ R1 a( D7 `1 k, |. Y" S
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
6 d0 R8 ^7 E) R  {PEI_RESET_PPI myVar;
9 `2 d/ `' S! G) X; U就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。
- d# S3 l- x2 o8 g# K" d% }( k/ A: G# d; H/ u! g/ d$ [
解析   EFI_PEI_SERVICES **PeiServices+ o1 |* C8 }0 L
可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-19 19:04 , Processed in 1.401039 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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