| Previous | Next |
| STATUS_VALIDATE_CONTINUE | STATUS_NO_MORE_MATCHES |
STATUS_NO_MATCH
This is a key-lookup result, not the end of an enumeration
STATUS_NO_MATCH describes an index operation that could not find a match for a specified key. Its closest remaining neighbor, STATUS_NO_MORE_MATCHES, has different state: that code says the current index enumeration has no more matching entries. The difference is useful in diagnostics because a point lookup and an iterator reaching its terminal condition preserve different evidence.
Microsoft does not publish a single subsystem as the universal producer of these two NTSTATUS values, so do not assume the “index” is NTFS, the registry, Active Directory, or a database. Windows kernel generic-table APIs demonstrate the conceptual distinction: RtlLookupElementGenericTableAvl searches for an element matching supplied data, while RtlEnumerateGenericTableAvl returns successive elements until no more remain. Those APIs are examples of lookup versus enumeration and are not asserted to return these NTSTATUS codes.
Capture the producer, index identity, exact key bytes/normalization rules, comparison mode, and table generation. Check case folding, collation, encoding, and stale keys only if the producer actually uses them. A no-match result may be an expected negative lookup; treat it as an error only when the calling contract required the key to exist. If code accidentally converts it into an enumeration-end condition, it can skip recovery or insertion logic intended for a missing key.
What to inspect
- Preserve the exact lookup key and the producer-specific comparison/normalization rules.
- Identify the concrete index or table before applying filesystem or registry assumptions.
- Check whether “not found” is an expected negative lookup in the caller contract.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft WDK: RtlLookupElementGenericTableAvl
- Microsoft WDK: RtlEnumerateGenericTableAvl
- Microsoft: Using NTSTATUS values
Looking for a different code? Search another status or error code.