2017-07-06 42 views

回答

1

尝试ExGetFirmwareEnvironmentVariable函数。使用空变量名称和伪GUID调用此函数以确定Windows是使用BIOS还是UEFI安装的。有关更多详细信息,请参阅文档中所述的以下内容。

传统的BIOS平台不支持固件环境变量。呼叫ExGetFirmwareEnvironmentVariable在传统的基于BIOS的平台上始终会失败;如果在支持传统BIOS和UEFI的平台上使用旧BIOS安装Windows,它们也会失败。为了识别这些条件下,调用与虚拟VARIABLENAME字符串的功能(例如,一个空字符串)和虚设GUID如

“{} 00000000-0000-0000-0000-000000000000”

为VendorGuid参数。在传统的基于BIOS的平台上,或者在支持传统BIOS和UEFI但在其中使用传统BIOS安装Windows的平台上,该功能将失败并显示STATUS_NOT_IMPLEMENTED。在基于UEFI的平台上,该功能将失败,并显示特定于固件的错误(例如STATUS_VARIABLE_NOT_FOUND),以指示虚拟GUID名称空间不存在。

+0

@JonasGulle如果这是有帮助的,请将此帖标记为已回复给他人的好处。 – thtse

相关问题