Site icon EfmSoft

What does NTSTATUS 0xC000022D (STATUS_RETRY) mean?

 
Previous Next
STATUS_CONVERT_TO_LARGE STATUS_FOUND_OUT_OF_SCOPE

STATUS_RETRY

Retry is part of the individual API contract, including when and how to try again

STATUS_RETRY is not a universal instruction to immediately call the same function in a tight loop. It says the request needs another attempt, but the returning API determines the retry timing, required state changes, and whether a retry count must be bounded. The caller must preserve that contract.

The D3COLD auxiliary-power callback is explicit: when it returns STATUS_RETRY, RetryInSeconds tells the driver how long to wait before the next request. Display miniport documentation gives other reasons, such as pending flips or the need to execute later at PASSIVE_LEVEL. RDBSS documentation also shows that some routines are not permitted to return STATUS_RETRY; if they need a retry loop, they must handle it internally. These examples demonstrate why the call site matters.

Log the retry reason and any provider-supplied delay or state flag. Set an upper bound where the contract requires caller-driven retries and keep the original failure if the limit is exceeded. Avoid retrying after cancellation, object teardown, or a permanent capability status. In asynchronous driver code, the retry path must also preserve IRP ownership and completion rules so the original request is completed exactly once.

What to inspect

References


Looking for a different code? Search another status or error code.

Exit mobile version