| Previous | Next |
| STATUS_WAIT_0 |
STATUS_SUCCESS
Successful NTSTATUS does not make every output semantically complete
STATUS_SUCCESS is the canonical zero NTSTATUS and satisfies the NT_SUCCESS test. The important distinction is between transport-level success and the contract of the called operation. An API can succeed while returning zero entries, a shorter result set, a state flag, or another output that the caller must still inspect.
Do not compare every NTSTATUS only with zero when an API documents informational or warning results. Conversely, do not infer that a successful call populated optional pointers or produced a requested side effect unless the API says so. Preserve the exact API, information class, output length and count fields when diagnosing a surprising successful result.
What to inspect
- Check the API-specific success contract and all count or length outputs.
- Use NT_SUCCESS only where the API accepts the full NTSTATUS success range.
- Log the returned status and semantic outputs separately so a no-op success is visible.
References
Looking for a different code? Search another status or error code.