def SetUefiVar()

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)