Update vtoydump_windows.c

This commit is contained in:
longpanda
2020-06-26 08:24:07 +08:00
committed by GitHub
parent 8ceb9a080a
commit d412de75a6
+31 -18
View File
@@ -31,24 +31,6 @@
static int verbose = 0;
static ventoy_guid vtoy_guid = VENTOY_GUID;
int vtoy_is_efi_system(void)
{
UINT32 Data;
DWORD Status;
GetFirmwareEnvironmentVariableA("", "{00000000-0000-0000-0000-000000000000}", &Data, sizeof(Data));
Status = GetLastError();
debug("Get Dummy Firmware Environment Variable Status:%u\n", Status);
if (ERROR_INVALID_FUNCTION == GetLastError())
{
return 0;
}
return 1;
}
//Grant Privilege
static int vtoy_grant_privilege(void)
{
@@ -129,6 +111,37 @@ static int vtoy_grant_privilege(void)
return 0;
}
int vtoy_is_efi_system(void)
{
UINT32 Data;
DWORD Status;
GetFirmwareEnvironmentVariableA("", "{00000000-0000-0000-0000-000000000000}", &Data, sizeof(Data));
Status = GetLastError();
debug("Get Dummy Firmware Environment Variable Status:%u\n", Status);
if (ERROR_PRIVILEGE_NOT_HELD == Status)
{
debug("need to grant privilege %u\n", Status);
vtoy_grant_privilege();
GetFirmwareEnvironmentVariableA("", "{00000000-0000-0000-0000-000000000000}", &Data, sizeof(Data));
Status = GetLastError();
debug("Get Dummy Firmware Environment Variable again Status:%u\n", Status);
}
if (ERROR_INVALID_FUNCTION == Status)
{
return 0;
}
return 1;
}
int vtoy_os_param_from_efivar(ventoy_os_param *param)
{
DWORD DataSize = 0;