From: Grigory Vasilyev h0tc0d3@gmail.com
--- dlls/kernel32/process.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index 2a4ddc68f02..ee5e3cf9164 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -763,10 +763,18 @@ 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; + if(!set_ntstatus(NtQuerySystemInformation(SystemBootEnvironmentInformation, + &boot_info, sizeof(boot_info), &ret_size))) + return FALSE; + + *type = boot_info.FirmwareType; + return TRUE; }