| Previous | Next |
| FILTER_E_NO_MORE_TEXT | FILTER_E_ACCESS |
FILTER_E_NO_MORE_VALUES
All property values in the current chunk have been returned
FILTER_E_NO_MORE_VALUES is HRESULT 0x80041702. Its failure-severity encoding closes value retrieval for the current chunk and does not invalidate a value already returned. Windows documents it as “No more property values available in chunk.”
API stage and meaning
This result belongs to continuing IFilter::GetValue for a value-bearing chunk. The value stream for the active chunk is exhausted and GetChunk must select another chunk.
Failure paths
- The caller asks for a second value from a single-value chunk.
- A loop ignores the successful value already returned.
- The filter exposes no additional PROPVARIANT for this chunk.
Compare the failing case with a control that preserves chunk id and CHUNK_VALUE flag and changes only property specification from STAT_CHUNK; this prevents unrelated environment differences from dominating the test.
Observability checklist
- At step 1, chunk id and CHUNK_VALUE flag
- At step 2, property specification from STAT_CHUNK
- At step 3, count and types of returned PROPVARIANT values
- At step 4, getValue/GetChunk call order
Capture chunk id and CHUNK_VALUE flag before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with property specification from STAT_CHUNK, component version, UTC timestamp and correlation ID.
How to isolate the cause
- Verify the current chunk is marked as a value chunk.
- Release each returned PROPVARIANT according to the interface contract.
- Distinguish one exhausted property from end of all chunks.
- Advance with GetChunk and inspect the next STAT_CHUNK.
Preserve the component version and target identity, then alter only the condition described as the value stream for the active chunk is exhausted and GetChunk must select another chunk.
Remediation policy
Continue chunk enumeration; do not retry GetValue against the same exhausted chunk. Record whether continuing IFilter::GetValue for a value-bearing chunk produced any content, update or state transition before returning.
Retry only after a concrete change in chunk id and CHUNK_VALUE flag or property specification from STAT_CHUNK.
Wrong conclusions to avoid
It does not imply that the property is absent from every chunk or that property extraction failed. Without the call boundary for continuing IFilter::GetValue for a value-bearing chunk, it also cannot identify which wrapper or configuration layer introduced the condition.
Comparison
FILTER_E_NO_VALUES rejects GetValue for a non-value chunk; it follows successful or valid value enumeration.
Developer and administrator actions
- Record chunk id and CHUNK_VALUE flag with the returned HRESULT.
- In telemetry, correlate property specification from STAT_CHUNK with the target and component generation.
- For regression coverage, force the documented condition: the value stream for the active chunk is exhausted and GetChunk must select another chunk.
- 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
A metadata filter emits one author value. A generic loop requests another value, receives this HRESULT and advances safely.
Official Microsoft references
- Microsoft: Filter-Interface values — official contract information relevant to this HRESULT.
- Microsoft: IFilter::GetValue
- Microsoft: IFilter::GetChunk
- Microsoft: testing filter handlers
- Microsoft: IFilter interface
Looking for a different code? Search another status or error code.