| Previous | Next |
| ERROR_SHUTDOWN_IN_PROGRESS | ERROR_IO_DEVICE |
ERROR_NO_SHUTDOWN_IN_PROGRESS
Unable to abort the system shutdown because no shutdown was in progress.
ERROR_NO_SHUTDOWN_IN_PROGRESS is decimal 1116 (0x45C). The usual interpretation is that AbortSystemShutdown reached the target, but Windows found no abortable shutdown countdown or pending shutdown operation.
Why cancellation can arrive too late
- the original shutdown already completed, was cancelled by another actor, or progressed beyond the abortable phase
- the management client targeted a different computer name than the one used for initiation
- a race occurred between the countdown expiring and the abort request
- the initiator failed before creating a shutdown at all, but its controller still attempted cleanup
- state in a distributed orchestration database was stale after a reconnect or failover
This error is often benign in cleanup code. It does not by itself mean the abort API is broken; it means the state observed by Windows no longer matches the caller’s assumption. The next action depends on whether the machine is still shutting down, already restarted, or never entered a shutdown sequence.
Checks to perform
- confirm the resolved target name and remote address used by both initiation and cancellation
- compare local clocks and request timestamps so a countdown race is visible
- look for the original shutdown request, its reason code, and any event showing cancellation or completion
- verify whether the host boot time or boot identifier changed during the operation
- record the caller token and remote-shutdown privilege separately from the 1116 state result
Log the original operation ID with the abort result. Without that correlation, an operator cannot tell whether 1116 belongs to an obsolete cancellation, an incorrectly targeted machine, or a controller bug that never initiated the requested shutdown.
How software should handle it
Cancellation logic should be idempotent. If the desired final state is “no pending shutdown,” error 1116 can be treated as that state already being true, provided an independent check shows the host is not currently transitioning. Do not automatically initiate a new shutdown merely because an abort found nothing to cancel.
A reliable controller maintains explicit states such as requested, acknowledged, countdown active, cancelled, reboot observed, and timed out. It should reconcile those states from the target rather than assuming that every API response arrives in request order.
Administrator actions
- if users still see a shutdown warning, identify which process or management plane created it
- if the computer restarted, verify that pending updates and services completed normally
- if no shutdown occurred, investigate why the original initiation failed instead of retrying the abort
- on remote systems, check name resolution and administrative boundaries before repeating commands
Avoid power cycling a system solely because cancellation returned 1116. The code describes the absence of an abortable request, not a frozen power transition.
Contrast with ERROR_SHUTDOWN_IN_PROGRESS
ERROR_SHUTDOWN_IN_PROGRESS is returned when another shutdown cannot be started because one is active. ERROR_NO_SHUTDOWN_IN_PROGRESS is normally seen on the cancellation path when there is nothing left to abort. Together they reveal which side of the state machine the caller reached.
Example
An administrator schedules a remote reboot with a 30-second timeout and immediately cancels it from a second console. The first console has already cancelled the request, so the second AbortSystemShutdown call returns 1116. The correct result is still achieved; the audit record should show two cancellation attempts tied to the same restart ID.
References
- Microsoft: System Error Codes (1000–1299)
- Microsoft: AbortSystemShutdown function
- Microsoft: System shutdown functions
Looking for a different code? Search another status or error code.
