| Previous | Next |
| SEARCH_E_NOREGION | FILTER_E_NO_MORE_TEXT |
FILTER_E_END_OF_CHUNKS
The filter has no further chunks to enumerate
FILTER_E_END_OF_CHUNKS is HRESULT 0x80041700. Its failure-severity encoding is used by IFilter::GetChunk as the terminal marker for the object; callers normally stop enumeration rather than report a damaged document. Windows documents it as “No more chunks of text available in object.”
Where the result belongs
This result belongs to advancing IFilter::GetChunk after all emitted text and value chunks have been consumed. The filter has reached its stable end-of-object state rather than failing to decode another chunk.
Concrete causes
- Check the caller invokes GetChunk after the final chunk.
- Check an empty document legitimately exposes no chunks.
- Check a wrapper mistakes the terminal HRESULT for an extraction fault.
Compare the failing case with a control that preserves last successful chunk identifier and flags and changes only sequence of GetChunk return values; this prevents unrelated environment differences from dominating the test.
Evidence to retain
- Last successful chunk identifier and flags
- Sequence of GetChunk return values
- Whether Init succeeded for the same filter instance
- Document identity and filter CLSID
Capture last successful chunk identifier and flags before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with sequence of GetChunk return values, component version, UTC timestamp and correlation ID.
Diagnostic path
- Confirm that the call was GetChunk, not GetText or GetValue.
- Verify chunk identifiers were unique and increasing before termination.
- Call GetChunk once more in a conformance test; the terminal result should remain stable.
- Treat already emitted content as complete unless another error preceded the terminal state.
Preserve the component version and target identity, then alter only the condition described as the filter has reached its stable end-of-object state rather than failing to decode another chunk.
Recovery and retry
Stop enumeration normally and retain the collected chunks. Retry only after reinitializing for a different object or after the source object has changed. Record whether advancing IFilter::GetChunk after all emitted text and value chunks have been consumed produced any content, update or state transition before returning.
Retry only after a concrete change in last successful chunk identifier and flags or sequence of GetChunk return values.
What must not be inferred
It does not prove that the document contained text, properties or a supported file extension; it only closes the chunk sequence. Without the call boundary for advancing IFilter::GetChunk after all emitted text and value chunks have been consumed, it also cannot identify which wrapper or configuration layer introduced the condition.
Nearby results
FILTER_E_NO_MORE_TEXT closes text within one chunk, while it closes the entire object enumeration.
Developer and administrator actions
- Record last successful chunk identifier and flags with the returned HRESULT.
- In telemetry, correlate sequence of GetChunk return values with the target and component generation.
- For regression coverage, force the documented condition: the filter has reached its stable end-of-object state rather than failing to decode another chunk.
Operational example
A crawler receives three property chunks and then this HRESULT. It commits the three chunks instead of marking the document as failed.
Official Microsoft references
- Microsoft: Filter-Interface values — official contract information relevant to this HRESULT.
- Microsoft: IFilter::GetChunk
- Microsoft: testing filter handlers
- Microsoft: IFilter interface
Looking for a different code? Search another status or error code.