Beispiel #1
0
        private void AddTaskOptions(ITaskDefinition iTaskDefinition, ScheduledJobOptions jobOptions)
        {
            _TASK_RUNLEVEL variable;

            iTaskDefinition.Settings.DisallowStartIfOnBatteries = !jobOptions.StartIfOnBatteries;
            iTaskDefinition.Settings.StopIfGoingOnBatteries     = jobOptions.StopIfGoingOnBatteries;
            iTaskDefinition.Settings.WakeToRun     = jobOptions.WakeToRun;
            iTaskDefinition.Settings.RunOnlyIfIdle = !jobOptions.StartIfNotIdle;
            iTaskDefinition.Settings.IdleSettings.StopOnIdleEnd = jobOptions.StopIfGoingOffIdle;
            iTaskDefinition.Settings.IdleSettings.RestartOnIdle = jobOptions.RestartOnIdleResume;
            iTaskDefinition.Settings.IdleSettings.IdleDuration  = ScheduledJobWTS.ConvertTimeSpanToWTSString(jobOptions.IdleDuration);
            iTaskDefinition.Settings.IdleSettings.WaitTimeout   = ScheduledJobWTS.ConvertTimeSpanToWTSString(jobOptions.IdleTimeout);
            iTaskDefinition.Settings.Hidden = !jobOptions.ShowInTaskScheduler;
            iTaskDefinition.Settings.RunOnlyIfNetworkAvailable = !jobOptions.RunWithoutNetwork;
            iTaskDefinition.Settings.AllowDemandStart          = !jobOptions.DoNotAllowDemandStart;
            iTaskDefinition.Settings.MultipleInstances         = this.ConvertFromMultiInstances(jobOptions.MultipleInstancePolicy);
            TaskScheduler.IPrincipal principal = iTaskDefinition.Principal;
            if (jobOptions.RunElevated)
            {
                variable = _TASK_RUNLEVEL.TASK_RUNLEVEL_HIGHEST;
            }
            else
            {
                variable = _TASK_RUNLEVEL.TASK_RUNLEVEL_LUA;
            }
            principal.RunLevel = variable;
        }
Beispiel #2
0
        private ScheduledJobOptions CreateJobOptions(ITaskDefinition iTaskDefinition)
        {
            ITaskSettings settings = iTaskDefinition.Settings;

            TaskScheduler.IPrincipal principal = iTaskDefinition.Principal;
            return(new ScheduledJobOptions(!settings.DisallowStartIfOnBatteries, settings.StopIfGoingOnBatteries, settings.WakeToRun, !settings.RunOnlyIfIdle, settings.IdleSettings.StopOnIdleEnd, settings.IdleSettings.RestartOnIdle, this.ParseWTSTime(settings.IdleSettings.IdleDuration), this.ParseWTSTime(settings.IdleSettings.WaitTimeout), !settings.Hidden, principal.RunLevel == _TASK_RUNLEVEL.TASK_RUNLEVEL_HIGHEST, !settings.RunOnlyIfNetworkAvailable, !settings.AllowDemandStart, this.ConvertToMultiInstances(settings)));
        }