From: Grigory Vasilyev h0tc0d3@gmail.com
--- dlls/kernel32/process.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index 2a4ddc68f02..33baa61b3a6 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -763,10 +763,17 @@ BOOL WINAPI SetFirmwareEnvironmentVariableW(const WCHAR *name, const WCHAR *guid */ BOOL WINAPI GetFirmwareType(FIRMWARE_TYPE *type) { + ULONG ret_size; + SYSTEM_BOOT_ENVIRONMENT_INFORMATION boot_info = {0}; + if (!type) return FALSE;
- *type = FirmwareTypeUnknown; + NtQuerySystemInformation(SystemBootEnvironmentInformation, &boot_info, sizeof(boot_info), + &ret_size); + + *type = boot_info.FirmwareType; + return TRUE; }