Я пытаюсь настроить собственную переменную NVRAM (nv + rt + bs), используя WinAPI (SetFirmwareEnvironmentVariable).Это не с моей переменной и успешно завершено с BootOrder.Что я делаю не так?Можно ли настроить мою собственную переменную с помощью WinAPI?
Я пытаюсь настроить свою переменную, используя этот код
void setMyNVRAM()
{
// here I setup SE_SYSTEM_ENVIRONMENT_NAME privilege
uint16_t value = 0x5aa5;
if (!SetFirmwareEnvironmentVariable(L"MY_VARIABLE",
L"{12345678-1234-1234-1234-123456789012}", &value, sizeof (value)))
{
std::cout << "error while settin up MY_VARIABLE. Error code: "
<< GetLastError() << std::endl;
}
else
{
std::cout << "success" << std::endl;
}
}
SetFirmwareEnvironmentVariable
возвращает 0 и GetLastError()
возвращает 5 (доступотказано).Я также попытался записать в BootOrder
переменную, и она была успешно завершена.