getFirmwareEnvironmentVariableA 函数 (winbase.h)

检索指定固件环境变量的值。

语法

DWORD GetFirmwareEnvironmentVariableA(
  [in]  LPCSTR lpName,
  [in]  LPCSTR lpGuid,
  [out] PVOID  pBuffer,
  [in]  DWORD  nSize
);

参数

[in] lpName

固件环境变量的名称。 指针不得为 NULL

[in] lpGuid

表示固件环境变量的命名空间的 GUID。 GUID 必须是格式为“{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx}”的字符串,其中“x”表示十六进制值。

[out] pBuffer

指向接收指定固件环境变量值的缓冲区的指针。

[in] nSize

pBuffer 缓冲区的大小(以字节为单位)。

返回值

如果函数成功,则返回值是 pBuffer 缓冲区中存储的字节数。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 可能的错误代码包括ERROR_INVALID_FUNCTION。

注解

从 Windows 10 版本 1803 开始,通用 Windows 应用可以读取和写入统一可扩展固件接口 (UEFI) 固件变量。 有关详细信息 ,请参阅从通用 Windows 应用访问 UEFI 固件变量

若要读取固件环境变量,运行应用的用户帐户必须具有 SE_SYSTEM_ENVIRONMENT_NAME 特权。 通用 Windows 应用必须从管理员帐户运行,并遵循 从通用 Windows 应用访问 UEFI 固件变量中所述的要求。

从 Windows 10 版本 1803 开始,还支持从 User-Mode Driver Framework (UMDF) 驱动程序读取统一可扩展固件接口 (UEFI) 变量。 不支持从 UMDF 驱动程序编写 UEFI 变量。

确切的固件环境变量集由启动固件确定。 这些环境变量的位置也由固件指定。 例如,在基于 UEFI 的系统上,NVRAM 包含指定系统启动设置的固件环境变量。 有关使用的特定变量的信息,请参阅 UEFI 规范。 有关 UEFI 和 Windows 的详细信息,请参阅 UEFI 和 Windows

基于 BIOS 的旧系统不支持固件变量。 GetFirmwareEnvironmentVariable 函数在基于 BIOS 的旧版系统上将始终失败,或者如果在同时支持旧版 BIOS 和 UEFI 的系统上使用旧版 BIOS 安装 Windows, 若要识别这些条件,请使用虚拟固件环境名称(例如 lpName 参数的空字符串 (“”) )和虚拟 GUID(如 lpGuid 参数的“”{00000000-0000-0000-0000-000000000000})调用函数。 在基于 BIOS 的旧版系统上,或在同时支持旧版 BIOS 和 UEFI 的系统上(其中 Windows 是使用旧版 BIOS 安装的),函数将失败并ERROR_INVALID_FUNCTION。 在基于 UEFI 的系统上,函数将失败,并显示特定于固件的错误(例如ERROR_NOACCESS),指示虚拟 GUID 命名空间不存在。

如果要创建备份应用程序,可以使用此函数保存系统的所有启动设置,以便在需要时可以使用 SetFirmwareEnvironmentVariable 函数还原这些设置。

GetFirmwareEnvironmentVariableExGetFirmwareEnvironmentVariable 内核模式例程的用户模式等效项。

注意

winbase.h 标头将 GetFirmwareEnvironmentVariable 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows Vista、带 SP1 的 Windows XP [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

从通用 Windows 应用访问 UEFI 固件变量

GetFirmwareEnvironmentVariableEx

SetFirmwareEnvironmentVariable

系统信息函数