| Previous | Next |
| ERROR_NOT_FOUND | ERROR_SET_NOT_FOUND |
ERROR_NO_MATCH
No candidate matched the requested key or capabilities.
ERROR_NO_MATCH is Win32 error 1169 (0x491). Unlike a malformed request, it indicates that matching logic ran but produced no acceptable result. The “index” in the system message is conceptual: the relevant collection and comparison rules come from the API that returned the code.
Two useful interpretations
Some APIs use 1169 for an exact key lookup with no entry. Others use it for compatibility selection, where candidates exist but none support the requested features. WlanSetProfile, for example, can return this value when a wireless profile requests capabilities the interface does not support. Language-selection APIs can also wrap it in an HRESULT when no language is close enough.
Evidence needed to explain the mismatch
- candidate collection version and the scope from which it was built
- normalized lookup key or complete requested capability set
- rejection reason for each serious candidate
- hardware, locale, security, or feature flags used by the matcher
- whether matching requires equality, ranking, or a threshold
A single “no match” message is poor telemetry. For capability negotiation, retain a compact difference such as “profile requires WPA2/FIPS; adapter exposes WPA only.” That turns an opaque error into an actionable configuration result.
Diagnostic workflow
- validate that the request is syntactically correct before investigating the collection
- enumerate available candidates through the same API family
- compare normalized keys and required features field by field
- check whether policy filtered otherwise suitable candidates
- repeat only after the candidate set or requirements have changed
Recovery choices
If the request expresses optional preferences, select a documented fallback and tell the caller which requirement was relaxed. If it expresses a security or correctness requirement, fail clearly rather than silently choosing an incompatible candidate. Hardware capability mismatches usually require changing the profile, driver, or device, not waiting.
For version resolution, package activation, or localization, refresh installed registrations before concluding that the required candidate is absent. Do not download or install an arbitrary “closest” component without validating product identity and version policy.
Design recommendations
Expose structured rejection reasons alongside 1169 in internal APIs. Keep matching deterministic, log normalized inputs, and test boundary cases where one feature or version distinguishes a valid match from none. If the Win32 code is converted with HRESULT_FROM_WIN32, preserve the original low-order code in diagnostics.
Comparison with related errors
ERROR_NOT_FOUND usually says a particular element does not exist. ERROR_NO_ASSOCIATION concerns shell handlers for a file type or protocol. ERROR_NOT_SUPPORTED says the requested operation itself is unavailable. Error 1169 emphasizes that matching was attempted but no candidate satisfied the key or criteria.
Example
An administrator deploys a wireless profile requiring WPA2 and FIPS mode to an adapter that supports neither combination. WlanSetProfile returns 1169. Logging both requested capabilities and the interface's supported set identifies a profile/device mismatch; retrying the same XML does not alter the result.
References
- Microsoft: System Error Codes (1000–1299)
- Microsoft: WlanSetProfile function
- Microsoft: GetDistanceOfClosestLanguageInList
Looking for a different code? Search another status or error code.
