Site icon EfmSoft

What does HRESULT 0x80041705 (FILTER_E_NO_TEXT) mean?

 
Previous Next
FILTER_E_ACCESS FILTER_E_NO_VALUES

FILTER_E_NO_TEXT

The current filter chunk does not contain text

FILTER_E_NO_TEXT is HRESULT 0x80041705 (-2147215611 signed; 2147751685 unsigned). Its severity bit is 1, facility is 4 (FACILITY_ITF for these values), and code field is 0x1705. Its failure-severity encoding reports a method/chunk-type mismatch, not necessarily a defect in the source document. AllStat describes the value as “No text in current chunk.”

Interpretation in context

This result belongs to calling IFilter::GetText when STAT_CHUNK describes a property-value chunk or another nontext chunk. The decisive interpretation is that the caller selected the wrong extraction method for the current chunk type. Keep the symbolic constant and method stage together in logs; its hexadecimal value alone cannot identify the owning transition or input.

The IFilter contract is stateful: GetChunk selects a chunk, then GetText or GetValue consumes content according to STAT_CHUNK flags. In the result investigation, method order and filter-instance ownership are therefore part of the evidence. This context narrows the responsible component without replacing the code-specific checks below.

Conditions to test

The useful hypothesis for it must explain both calling IFilter::GetText when STAT_CHUNK describes a property-value chunk or another nontext chunk and the documented condition. Compare the failing case with a control that preserves current STAT_CHUNK flags and attribute and changes only exact GetChunk/GetText sequence; this prevents unrelated environment differences from dominating the result test.

Incident record

Capture current STAT_CHUNK flags and attribute before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with exact GetChunk/GetText sequence, component version, UTC timestamp and correlation ID. Bound the result telemetry to diagnostic metadata because document content, credentials and unrestricted query text may be sensitive.

Step-by-step diagnosis

  1. Inspect flags immediately after each successful GetChunk. Associate this observation specifically with it.
  2. Dispatch CHUNK_TEXT to GetText and CHUNK_VALUE to GetValue. Associate this observation specifically with it.
  3. Remove stale chunk metadata from asynchronous queues. Associate this observation specifically with it.
  4. Confirm the filter did not change flags after returning the chunk. Associate this observation specifically with it.

Change one variable per it control run. Preserve the component version and target identity, then alter only the condition described as the caller selected the wrong extraction method for the current chunk type. This isolates whether it is causal rather than merely repeatable.

Retry decision

Use the method indicated by STAT_CHUNK or advance to the next chunk. Retrying GetText is a contract error in the caller. Record whether calling IFilter::GetText when STAT_CHUNK describes a property-value chunk or another nontext chunk produced any content, update or state transition before returning. If completion remains unknown, the path must not replay non-idempotent work until the owner confirms final state.

The retry gate for it should be a concrete change in current STAT_CHUNK flags and attribute or exact GetChunk/GetText sequence. A timer alone cannot demonstrate that the result contract condition has changed.

What the value cannot establish

It does not say the whole document lacks text; later chunks may contain searchable text. Without the call boundary for calling IFilter::GetText when STAT_CHUNK describes a property-value chunk or another nontext chunk, it also cannot identify which wrapper or configuration layer introduced the condition.

Adjacent contract states

FILTER_E_NO_MORE_TEXT exhausts a valid text chunk; it identifies a nontext current chunk. In it telemetry, preserve neighboring constants separately because the same visible symptom may require a different caller action, owner or recovery gate.

Developer and administrator actions

Concrete scenario

A parallel extractor associates the previous chunk flags with a new chunk and calls GetText. Serializing chunk state fixes the method mismatch. In this scenario, handling it at its real contract boundary prevents the application from collapsing a precise state into an unhelpful generic “search failed” message.

Official Microsoft references


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

Exit mobile version