| Previous | Next |
| ERROR_MORE_DATA | ERROR_VC_DISCONNECTED |
ERROR_NO_WORK_DONE
The operation produced no effective change
ERROR_NO_WORK_DONE is a Win32 result associated with batch, maintenance, and transactional operations., diagnosis should begin with the exact API, target object, and operation that produced it rather than with the message text alone.
What the result means
The request completed without performing any work and cleanup was applied. The practical meaning depends on the caller and on whether the affected object is local, remote, removable, policy-managed, or handled asynchronously. Diagnostics for it should retain its symbolic name, numeric value, and the operation name together.
What to check
- Determine whether the input set was empty or all candidates were filtered out.
- Check preconditions and policy rules that may have made every item ineligible.
- Distinguish an intentional no-op from a request that unexpectedly matched nothing.
- Log counts for examined, skipped, changed, and failed items.
Recommended handling
Treat the result according to the operation contract. A no-op can be success for idempotent maintenance, but it should be surfaced when the caller expected at least one change.
Developer notes
Code handling this result should capture the failing API, resolved path or device identity, requested access, process identity, and the first observed error. After a call that reports it, read GetLastError() immediately because later cleanup or logging can overwrite the value. Retry it only when the specific condition is documented as transient, using a bounded delay and cancellation support.
References
- Microsoft: System error codes relevant to ERROR_NO_WORK_DONE
- Microsoft: File management context for ERROR_NO_WORK_DONE
Looking for a different code? Search another status or error code.