in AdvLoggerPkg/Application/DecodeUefiLog/UefiVariablesSupportLib.py [0:0]
def SetUefiVar(self, name, guid, var=None, attrs=None):
var_len = 0
err = 0
errorstring = None
if var is None:
var = bytes(0)
else:
var_len = len(var)
success = 0 # Fail
if(attrs == None):
if self._SetFirmwareEnvironmentVariable is not None:
logging.info("Calling SetFirmwareEnvironmentVariable (name='%s', Guid='%s')..." % (name, "{%s}" % guid, ))
success = self._SetFirmwareEnvironmentVariable(name, "{%s}" % guid, var, var_len)
else:
attrs = int(attrs)
if self._SetFirmwareEnvironmentVariableEx is not None:
logging.info(" calling SetFirmwareEnvironmentVariableEx( name='%s', GUID='%s', length=0x%X, attributes=0x%X ).." % (name, "{%s}" % guid, var_len, attrs) )
success = self._SetFirmwareEnvironmentVariableEx( name, "{%s}" % guid, var, var_len, attrs )
if 0 == success:
err = kernel32.GetLastError()
logging.error('SetFirmwareEnvironmentVariable failed (GetLastError = 0x%x)' % err )
logging.error(WinError())
errorstring = WinError(err)
return (success,err, errorstring)