| Previous | Next |
| SCHED_S_TASK_HAS_NOT_RUN | SCHED_S_TASK_NOT_SCHEDULED |
SCHED_S_TASK_NO_MORE_RUNS
Scheduled task has no future run times
SCHED_S_TASK_NO_MORE_RUNS is HRESULT 267012 (0x00041304) from winerror.h. AllStat describes it as “There are no more runs scheduled for this task.” The severity bit indicates a nonfailure result, but the value carries a specific condition that must not be collapsed into plain S_OK.
In the Task Scheduler state query, this result means that there are no more runs scheduled for this task. Treat it as a distinct branch whose postcondition must be proven before subsequent operations begin.
Where the status is encountered
- Task Scheduler status monitoring; log the exact method and object state instead of interpreting the constant outside that contract.
- Deployment or maintenance task validation; log the exact method and object state instead of interpreting the constant outside that contract.
- Automation that reads task state before starting work; log the exact method and object state instead of interpreting the constant outside that contract.
Because it is informational, a language binding may expose it as success and hide the symbolic distinction. Keep the original HRESULT available until the code-specific branch has run.
Evidence and telemetry
- preserve trigger start and end boundaries.
- preserve repetition duration and interval.
- preserve last run result.
- preserve expired trigger identifiers.
- preserve task purpose and retirement policy.
Also record sched_s_task_no_more_runs_operation, sched_s_task_no_more_runs_state_before, sched_s_task_no_more_runs_state_after, UTC time, process and thread identifiers, component version, and a correlation ID. Evidence for it should be reproducible but sanitized, with sensitive buffers represented by length and hash.
What must be true before accepting it
Verify that all triggers are exhausted or bounded such that no future eligible execution remains. The caller should make the acceptance test for it explicit in code and telemetry.
Inspect the current generation of every affected object before deciding what happens next.
Correct handling and recovery
Review end boundaries, repetition limits, one-time triggers, and disabled triggers. Add or extend a trigger only when future execution is required; otherwise archive or remove the task according to policy.
Retry it only when a documented input or state has changed. Distinguish protocol continuation from retrying the entire high-level operation.
Difference from nearby results
SCHED_S_TASK_NOT_SCHEDULEDIt
Exact handling of it matters because a generic success path cannot express its required next action.
Practical scenario
A certificate-renewal migration task was configured for three attempts.
References
- Microsoft: Task Scheduler error and success constants — official Microsoft material used to interpret it.
- Microsoft: Task Scheduler reference
- Microsoft: HRESULT values
Looking for a different code? Search another status or error code.
