| Previous | Next |
| ERROR_DRIVERS_LEAKING_LOCKED_PAGES | ERROR_WAIT_1 |
ERROR_WAKE_SYSTEM
The system has awakened from a low-power state
ERROR_WAKE_SYSTEM corresponds to Win32 error value documented as: The system has awoken Execution resumed after sleep or another wake-capable state. The wake source and elapsed time matter because external resources can expire even though process memory remains present.
Where the result appears in real systems
- Power broadcast handling.
- Scheduled wake tasks.
- Laptop lid, network, USB, or timer wake events.
- Service reconnection logic.
Evidence to collect before changing the system
query the last wake source with powercfg, record sleep and wake timestamps, power state, network changes, and device arrival events; correlate Kernel-Power and Power-Troubleshooter records
Keep the original numeric value, symbolic name, API return path, thread and process identity, and the exact timestamp in one diagnostic record. Those fields prevent later layers from replacing this specific result with a generic failure and make correlation with ETW or Event Viewer practical.
Handling and recovery
Refresh time-sensitive state, reconnect transports, and re-evaluate pending deadlines. Components should debounce bursts of device and network notifications that commonly follow resume.
Code that receives this result should classify it according to the operation that produced it: completion information, a recoverable environmental condition, or a programming defect. The result classification should be made at the API boundary where the caller still knows the handle, object, flags, and expected state.
What not to infer from this code
This result describes the transition back to execution; it does not identify which device or policy caused the wake without additional power diagnostics.
Implementation guidance
Preserve this result through logging and telemetry instead of immediately converting it to free-form text. When it crosses an HRESULT boundary, record both the original Win32 value and the converted HRESULT; when it crosses RPC, JSON, or another protocol, include an explicit error-domain field so the receiver does not convert it twice.
A useful automated test for it should reproduce the relevant state transition, assert the exact returned value, and verify cleanup after both the normal and exceptional path. The test for it should also check that a retry is performed only when the underlying state can genuinely change, because unconditional retries often hide ownership, architecture, power, or resource-negotiation defects.
References
Looking for a different code? Search another status or error code.