Site icon EfmSoft

What does HRESULT 0x00041679 (QPLIST_S_DUPLICATE) mean?

 
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

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

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


Looking for a different code? Search another status or error code.

Exit mobile version