| Previous | Next |
| SCHED_S_TASK_QUEUED | FDAEMON_W_WORDLISTFULL |
QPLIST_S_DUPLICATE
Duplicate query property definition was ignored
QPLIST_S_DUPLICATE is HRESULT 267897 (0x00041679) from Indexing Service. AllStat describes it as “Exact duplicate property defined.” The severity bit indicates a nonfailure result, but the value carries a specific condition that must not be collapsed into plain S_OK.
In the legacy Indexing Service or IFilter pipeline, this result means that exact duplicate property defined. The application should preserve it until it has validated the exact condition represented by this return value.
Where the status is encountered
- Legacy Indexing Service catalog processing; log the exact method and object state instead of interpreting the constant outside that contract.
- IFilter text and property extraction; log the exact method and object state instead of interpreting the constant outside that contract.
- Search enumeration, scan scheduling, or catalog administration; log the exact method and object state instead of interpreting the constant outside that contract.
Because it is informational, a language binding may expose it as success and hide the symbolic distinction. Keep the original HRESULT available until the code-specific branch has run.
What must be true before accepting it
Verify that the duplicate property is semantically identical and its removal does not alter the query schema. The documented condition must be demonstrated so it is not mistaken for an unrelated success state.
Any state transition preceding it must be included in rollback, continuation, and retry planning.
Evidence and telemetry
- preserve property set GUID and property ID.
- preserve aliases and requested sort flags.
- preserve original list positions.
- preserve canonicalized property definition.
- preserve result-column layout.
Also record qplist_s_duplicate_operation, qplist_s_duplicate_state_before, qplist_s_duplicate_state_after, UTC time, process and thread identifiers, component version, and a correlation ID. Use redacted telemetry for it, retaining only the stable technical identifiers that distinguish the operation.
Difference from nearby results
It must be distinguished from ordinary S_OK and from failure-severity values in the same API family; its documented state changes control the next action.
Comparing it with related statuses protects the caller from applying failure recovery to normal state.
Correct handling and recovery
Deduplicate the property list by canonical property identifier and retain one authoritative definition. If definitions differ, stop and resolve the conflict instead of relying on ordering.
Retry it only when a documented input or state has changed. Use the code-specific next action for it; avoid treating all informational HRESULT values as retry signals.
Practical scenario
A query builder merges two templates that both request the same document title property. It removes the exact duplicate and confirms that the result columns remain unchanged.
A regression test should reproduce it, assert the relevant outputs and state, then change only the decisive condition and verify the expected neighboring result or ordinary completion.
References
- Microsoft: Filter interface values — official Microsoft material used to interpret it.
- Microsoft: About Indexing Service filters
- Microsoft: Using custom filters
- Microsoft: HRESULT values
Looking for a different code? Search another status or error code.
