| Previous | Next |
| ERROR_NOT_LOGGED_ON | ERROR_ALREADY_INITIALIZED |
ERROR_CONTINUE
This value is a control result, not necessarily a failure.
ERROR_CONTINUE is Win32 value 1246 (0x4DE). Its exact meaning is defined by the API that returns it. A documented example is NPDirectoryNotify: a network provider can return 1246 after it has already handled the directory operation, telling the caller to continue normal processing without performing that operation a second time.
Why generic error handling is dangerous
Code that treats every nonzero Win32 value as fatal can mis-handle 1246. The opposite mistake is also harmful: interpreting it as ordinary success may cause duplicate work. The caller must understand whether “continue” means advance to another stage, skip an action already completed by a provider, or allow another participant to run.
Information needed for interpretation
- the exact callback or provider entry point that returned the value
- the operation stage and ownership of the side effect
- whether the provider reports that work is complete or merely still in progress
- which subsequent callbacks or cleanup steps the contract requires
- an operation identifier that can reveal accidental double execution
Implementation guidance
Model callback outcomes with an explicit enumeration in application code instead of passing raw integers through many layers. Translate 1246 at the API boundary into a state such as “handled; continue without repeating.” Keep the original numeric value in diagnostics, but make the control decision visible in code review and tests.
When providers can perform the same side effect as the caller, establish one owner. File or directory operations are especially sensitive because a duplicate create, remove, or rename can produce misleading secondary errors. Cleanup must follow the documented completion path even when the provider performed the primary action.
Testing strategy
- test the normal success return separately from 1246
- verify that the protected operation runs exactly once
- exercise cancellation before and after the provider acts
- confirm that audit records identify which participant owned the result
Difference from asynchronous pending states
ERROR_IO_PENDING means an overlapped I/O request will complete later. ERROR_CONTINUE does not by itself promise a later completion notification. In the network provider example, the provider has already handled the operation and the caller continues the larger workflow.
Example
A shell component asks a network provider whether it needs special handling before removing a directory. The provider removes the remote object and returns 1246. Correct code updates the UI and proceeds without issuing another remove request; generic code that retries the deletion reports a false “not found” error.
References
- Microsoft: System Error Codes (1000–1299)
- Microsoft: NPDirectoryNotify function
- Microsoft: Debug system error codes
Looking for a different code? Search another status or error code.
