| Previous | Next |
| CI_E_NOT_RUNNING | CI_E_CONFIG_DISK_FULL |
CI_E_CARDINALITY_MISMATCH
Machine, catalog and scope lists have incompatible cardinality
CI_E_CARDINALITY_MISMATCH is HRESULT 0x80041827. Windows documents it as “Mismatch in cardinality of machine(s)/catalog(s)/scope(s).”
API stage and meaning
This result belongs to binding parallel arrays or distributed-search target lists before executing the request. The number of machines, catalogs or scopes cannot be paired according to the API contract.
Failure paths
- One list is omitted while others contain multiple entries.
- Configuration expansion produces different lengths.
- Empty scope elements are discarded inconsistently.
- Distributed targets are merged from incompatible sources.
Compare the failing case with a control that preserves ordered machine list and changes only ordered catalog list; this prevents unrelated environment differences from dominating the test.
Observability checklist
- At step 1, ordered machine list
- At step 2, ordered catalog list
- At step 3, ordered scope list
- At step 4, configuration source for each element
Capture ordered machine list before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with ordered catalog list, component version, UTC timestamp and correlation ID.
How to isolate the cause
- Count every list after normalization.
- Determine whether the contract allows singleton broadcast.
- Keep elements paired in a structured target object.
- Reject partial configuration before network calls begin.
Preserve the component version and target identity, then alter only the condition described as the number of machines, catalogs or scopes cannot be paired according to the API contract.
Remediation policy
Rebuild aligned target tuples and retry validation. Do not truncate longer lists silently. Record whether binding parallel arrays or distributed-search target lists before executing the request produced any content, update or state transition before returning.
Retry only after a concrete change in ordered machine list or ordered catalog list.
Wrong conclusions to avoid
It does not indicate that a named machine, catalog or scope is individually invalid. Without the call boundary for binding parallel arrays or distributed-search target lists before executing the request, it also cannot identify which wrapper or configuration layer introduced the condition.
Comparison
QUERY_E_INVALID_DIRECTORY rejects a particular scope; this HRESULT rejects the relationship among target lists.
Developer and administrator actions
- Record ordered machine list with the returned HRESULT.
- In telemetry, correlate ordered catalog list with the target and component generation.
- For regression coverage, force the documented condition: the number of machines, catalogs or scopes cannot be paired according to the API contract.
- For operations staff, expose the corrective state change rather than a generic retry button.
- After remediation, validate one known-good control and the original failing case.
Worked scenario
Three machines are configured with two catalog names after template expansion. Tuple-based configuration prevents the mismatch.
Official Microsoft references
- Microsoft: content-indexing helper-function values — official contract information relevant to this HRESULT.
- Microsoft: Content-Indexing values
- Microsoft: Windows Search SQL syntax
- Microsoft: HRESULT values
Looking for a different code? Search another status or error code.
