What does HRESULT 0x80041701 (FILTER_E_NO_MORE_TEXT) mean?

 
Previous Next
FILTER_E_END_OF_CHUNKS FILTER_E_NO_MORE_VALUES

FILTER_E_NO_MORE_TEXT

All text in the current chunk has been returned

FILTER_E_NO_MORE_TEXT is HRESULT 0x80041701. Its failure-severity encoding is a terminal condition for text in the current chunk; the caller advances with GetChunk. Windows documents it as “No more text available in chunk.”

Relevant contract

This result belongs to continuing IFilter::GetText for a text-bearing chunk. The current chunk remains valid, but its text stream is exhausted until GetChunk advances.

Ways this state occurs

  • The consumer requests another buffer after the last characters
  • The chunk contains zero additional characters after a previous partial read
  • State is reused without calling GetChunk

Compare the failing case with a control that preserves chunk id and CHUNK_TEXT flag and changes only characters returned by every GetText call; this prevents unrelated environment differences from dominating the test.

Telemetry fields

  • Chunk id and CHUNK_TEXT flag.
  • Characters returned by every GetText call.
  • Input and output buffer lengths.
  • Next method called by the consumer.

Capture chunk id and CHUNK_TEXT flag before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with characters returned by every GetText call, component version, UTC timestamp and correlation ID.

Verification sequence

  1. Check that the active chunk advertises text.
  2. Sum returned character counts and compare them with the caller loop.
  3. Ensure the next operation is GetChunk rather than another unconditional GetText.
  4. Test repeated GetText calls for the documented stable terminal response.

Preserve the component version and target identity, then alter only the condition described as the current chunk remains valid, but its text stream is exhausted until GetChunk advances.

Safe continuation

Advance with GetChunk. Enlarging the buffer or retrying GetText cannot create more text in the same chunk. Record whether continuing IFilter::GetText for a text-bearing chunk produced any content, update or state transition before returning.

Retry only after a concrete change in chunk id and CHUNK_TEXT flag or characters returned by every GetText call.

Limits of the HRESULT

It does not mean the document has no more chunks or that value chunks are unavailable. Without the call boundary for continuing IFilter::GetText for a text-bearing chunk, it also cannot identify which wrapper or configuration layer introduced the condition.

Distinguishing related codes

FILTER_E_NO_TEXT means the current chunk is not a text chunk; it means a text chunk was drained.

Developer and administrator actions

  • At step 1, record chunk id and CHUNK_TEXT flag with the returned HRESULT
  • At step 2, in telemetry, correlate characters returned by every GetText call with the target and component generation
  • At step 3, for regression coverage, force the documented condition: the current chunk remains valid, but its text stream is exhausted until GetChunk advances
  • At step 4, for operations staff, expose the corrective state change rather than a generic retry button
  • At step 5, after remediation, validate one known-good control and the original failing case

Practical case

A client reads a long paragraph in several 4 KB buffers. The final read is followed by it, so it advances to the next chunk.

Official Microsoft references


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