| Previous | Next |
| FILTER_S_LAST_TEXT | FILTER_S_PARTIAL_CONTENTSCAN_IMMEDIATE |
FILTER_S_LAST_VALUES
Filter returned the final property values for the current chunk
FILTER_S_LAST_VALUES is HRESULT 268042 (0x0004170A) from Indexing Service. AllStat describes it as “This is the last value in the current chunk.” 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 this is the last value in the current chunk. 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.
Evidence and telemetry
- preserve chunk ID and property specification.
- preserve PROPVARIANT types and counts.
- preserve allocation ownership.
- preserve locale and normalization.
- preserve next chunk transition.
Also record filter_s_last_values_operation, filter_s_last_values_state_before, filter_s_last_values_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.
What must be true before accepting it
Verify that the returned values are valid and represent the last value set for this property chunk. 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.
Correct handling and recovery
Consume every returned PROPVARIANT, clear ownership correctly, and advance to the next chunk. Do not issue an endless GetValue loop after the terminal status.
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.
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.
Practical scenario
A metadata filter returns the last two authors with this status. The host stores both values, releases the variants, and advances without reporting a property-read error.
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.
