uefi中EFI_STATUS SetVariable()介绍
时间: 2023-05-20 16:07:08 浏览: 481
SetVariable()是UEFI中用于设置变量值的函数,它的返回值是EFI_STATUS类型。该函数的参数包括变量名、GUID、数据类型、数据长度和数据指针。当调用该函数时,UEFI系统会尝试将指定变量的值设置为指定的数据。如果设置成功,函数返回EFI_SUCCESS,否则返回其他错误码。
相关问题
EFI_STATUS SetVariable()参数介绍
SetVariable() 是 UEFI 中的一个函数,用于设置变量的值。它有四个参数,分别是 VariableName、VendorGuid、Attributes 和 DataSize。其中,VariableName 是变量的名称,VendorGuid 是变量的 GUID,Attributes 是变量的属性,DataSize 是变量数据的大小。这个函数的返回值是 EFI_STATUS 类型,表示函数执行的结果。
typedef EFI_STATUS (*GET_FIRMWARE_ATTRIB_CALLBACK) ( OUT CONST CHAR16**,OUT UINTN *Size);是什么意思
typedef EFI_STATUS (*GET_FIRMWARE_ATTRIB_CALLBACK)(OUT CONST CHAR16** , OUT UINTN* Size) 定义了一个函数指针类型,用于表示在UEFI环境中获取固件属性的操作。这里有几个关键部分:
1. `EFI_STATUS`:这是一个返回值类型,表示操作的结果,可能是成功(EFI_SUCCESS)或其他错误代码。
2. `(*GET_FIRMWARE_ATTRIB_CALLBACK)`:这是函数指针类型,命名的含义是“获取固件属性回调”,即一个接受两个输入参数并返回EFI_STATUS的函数。
3. `(OUT CONST CHAR16**, OUT UINTN*)`:这是函数的输入参数:
- `OUT CONST CHAR16**`:一个指向字符16位数组的指针,通常用于接收固件属性的实际字符串地址。
- `OUT UINTN* Size`:一个指向无符号整数的指针,用于接收分配给存储属性字符串的内存大小。
简而言之,这个类型定义是用来声明一个可以被传入作为回调的函数,该函数的作用是从某个源(如BIOS、UEFI服务等)获取固件属性,并提供相应的缓冲区大小信息。
阅读全文