| Previous | Next |
| FDAEMON_E_TOOMANYFILTEREDBLOCKS | SEARCH_E_NOREGION |
SEARCH_E_NOMONIKER
The initialized filter does not support retrieving hits as monikers
SEARCH_E_NOMONIKER is HRESULT 0x800416A1. Windows documents it as “Retrival of hits as monikers is not supported (by filter passed into Init).”
Contract and failing stage
This result belongs to legacy Windows hit retrieval and is returned while requesting a moniker representation for a hit after the caller configured the filter through IFilter::Init. The exact condition is: the initialization capability flags or filter implementation do not provide moniker-based hit retrieval.
This value belongs to hit-retrieval capability negotiation around legacy filtering interfaces. It does not mean that matching failed; it says the requested representation of an already identified hit is unavailable under the filter capabilities established at initialization. IFilter initialization documentation clarifies capability negotiation, but callers must use the flags returned by the actual filter instance rather than assuming support.
Conditions that produce it
An unavailable hit representation does not mean matching failed; it identifies a capability mismatch after filter initialization.
Evidence to preserve
- Record IFilter::Init input flags before releasing the relevant objects.
- Associate returned capability flags with the exact UTC timestamp and correlation identifier.
- Compare failing and known-good values for filter CLSID/version under the same provider or handler version.
- Record the source and normalization path of requested hit representation, not only its display form.
Document content is usually unnecessary; preserve initialization flags, returned capabilities, requested hit form and hit coordinates instead.
Diagnostic sequence
- Capture IFilter::Init input flags and returned capability flags at the call boundary that returns this result.
- Confirm the operation reached requesting a moniker representation for a hit after the caller configured the filter through IFilter::Init with the intended filter CLSID/version.
- record the exact
IFilter::Initflags, returned capability flags and filter CLSID before requesting the representation.
Initialize the same filter twice with controlled flag sets and request only the advertised hit forms to prove the missing capability.
Recovery and retry
Request a supported hit form or initialize a filter that explicitly provides monikers; retries with identical capabilities cannot succeed. Retries with the same IFilter capabilities cannot add an unsupported hit representation; negotiate a different output path.
What the code does not prove
It does not prove that the query or hit is invalid; it states that one requested representation is unavailable under the initialized filter capabilities.
Related HRESULT values
SEARCH_E_NOREGION rejects filter-region retrieval rather than moniker retrieval.
Developer and administrator guidance
Retain IFilter::Init inputs, returned capabilities, requested hit representation, filter implementation and document type. Before replacing the filter, compare its advertised initialization capabilities with the representation the caller requested.
Practical scenario
A hit-highlighting component assumes every filter can return monikers. Capability negotiation disables that path and uses the supported representation.
Official Microsoft references
Looking for a different code? Search another status or error code.