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

求助关于EFI

[复制链接]
发表于 2008-11-12 11:07:15 | 显示全部楼层 |阅读模式
各位大大好:
/ U3 O! ^2 W& g% [: q+ i在下legacy bios没做两天又EFI了 ' ^& g( G4 {; _
我想问一下下面的代码是什么意思,能从c语法分析一下吗??谢谢了!
4 t& j  B4 _5 T  x3 _% w1 t+ v" k
! I, {2 a  E# d1 N! u' b( Q  e  B; Atypedef% ]8 _8 ?/ ^3 ]1 w& A# k- [
EFI_STATUS' j! \! k2 a  N- @4 c; U* a
(EFIAPI *EFI_PEI_RESET_SYSTEM) (
2 V0 m: b8 s4 G  IN EFI_PEI_SERVICES   **PeiServices* {3 I( ?5 L7 k" Q8 h
  );
% }. I0 B0 ~0 ?5 a! m- N  @4 |9 ]! k) `1 }- E& z
typedef struct {7 h3 C3 T) h8 `  ?
  EFI_PEI_RESET_SYSTEM  ResetSystem;
2 q6 J3 M' w& G" Y& Z} PEI_RESET_PPI;
发表于 2008-11-12 13:18:14 | 显示全部楼层
  1. typedef4 G- G# N" y1 m$ F4 s
  2. EFI_STATUS
    6 L1 H$ R9 f( E5 X! v9 c$ l
  3. (EFIAPI *EFI_PEI_RESET_SYSTEM) (# \; Q/ k' F. P$ R: u+ M# @
  4.   IN EFI_PEI_SERVICES   **PeiServices# F4 t$ |$ t: o# ]
  5.   );
复制代码
定义EFI_PEI_RESET_SYSTEM,4 T, A0 [5 K3 u; w7 |% K
是一个 指向返回值是EFI_STATUS,有一个参数IN EFI_PEI_SERVICES   **,使用EFIAPI调用方式的函数指针,也就是一个函数的地址
( @4 i" J" X6 Q  Z3 l0 U; P: B1 d1 F5 g6 o+ |$ v, G+ I
EFI_PEI_RESET_SYSTEM          PeiResetSystem;定义函数PeiResetSystem,相当于:- l3 L+ K9 ]5 D  @- O
EFI_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就是返回值类型啦,具体你可以到头文件里找。动动手勤思考。$ s, q* D. p- h( ?3 t$ _, x
第一个typedef是定义的一个函数指针类型,类型名是EFI_PEI_RESET_SYSTEM,EFIAPI是一个简单的宏替换,原型是啥你最好自己去查,其实也很简单,就一个词。) F/ d4 N4 {# V; `; Y2 Q/ D
第二个typedef是定义了一个名为PEI_RESET_PPI的结构类型,它的唯一成员是一个(上一步定义的)函数指针。; t- y' ?- e6 H) M5 d' ~) R
经过这两次定义,以后如果你将一个变量声明为PEI_RESET_PPI类型,比方说
0 e' e% K1 Q+ w( IPEI_RESET_PPI myVar;* Y9 ~/ {) `9 w0 f
就意味着,myVar是一个结构型变量,它含有一个成员,这个成员是一个指向函数的指针,该函数接收一个指针数组作为其输入(其中数组中的每一项都指向一个类型为EFI_PEI_SERVICES的实例,请参考char **s作为输入),输出类型为EFI_STATUS。- f: Y2 R; r. `2 i

' M0 f% j/ t& K. j7 Q# I' }解析   EFI_PEI_SERVICES **PeiServices
; k) w3 ]; \3 P/ v0 {可看作 EFI_PEI_SERVICES (*PeiServices)[ ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-1 12:06 , Processed in 0.055842 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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