| Previous | Next |
| FILTER_E_PARTIALLY_FILTERED | WBREAK_E_QUERY_ONLY |
WBREAK_E_END_OF_TEXT
The word breaker reached the end of its text source
WBREAK_E_END_OF_TEXT is HRESULT 0x80041780 (-2147215488 signed; 2147751808 unsigned). Its severity bit is 1, facility is 4 (FACILITY_ITF for these values), and code field is 0x1780. Its failure-severity encoding serves as the end-of-source signal in the word-breaking refill contract; emitted words remain valid. AllStat describes the value as “End of text reached in text source.”
State represented by the HRESULT
This result belongs to refilling or consuming TEXT_SOURCE during IWordBreaker::BreakText. The decisive interpretation is that all source characters have been processed and no further buffer can be supplied. Keep the symbolic constant and method stage together in logs; its hexadecimal value alone cannot identify the owning transition or input.
Word breakers process TEXT_SOURCE buffers and report words or phrases through sinks. In the result investigation, locale, mode, refill behavior and component registration must be captured together. This context narrows the responsible component without replacing the code-specific checks below.
Likely triggers
- At step 1 for it, the refill callback reaches true end of input
- At step 2 for it, an empty source terminates immediately
- At step 3 for it, the caller treats the terminal code as an abnormal language failure
The useful hypothesis for it must explain both refilling or consuming TEXT_SOURCE during IWordBreaker::BreakText and the documented condition. Compare the failing case with a control that preserves TEXT_SOURCE iCur and iEnd positions and changes only refill callback return sequence; this prevents unrelated environment differences from dominating the result test.
Data for diagnosis
- This result: TEXT_SOURCE iCur and iEnd positions.
- This result: Refill callback return sequence.
- This result: Number of tokens already emitted.
- It: Locale and word-breaker CLSID.
Capture TEXT_SOURCE iCur and iEnd positions before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with refill callback return 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.
Investigation order
- Verify character positions never move beyond iEnd. Associate this observation specifically with it.
- Confirm the callback returns this status only at actual end of source. Associate this observation specifically with it.
- Retain words and phrases emitted before termination. Associate this observation specifically with it.
- Test empty, single-buffer and multi-buffer sources. 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 all source characters have been processed and no further buffer can be supplied. This isolates whether it is causal rather than merely repeatable.
Correct response
Finish word breaking normally. Retry only for a new or changed text source, not for the exhausted one. Record whether refilling or consuming TEXT_SOURCE during IWordBreaker::BreakText 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 TEXT_SOURCE iCur and iEnd positions or refill callback return sequence. A timer alone cannot demonstrate that the result contract condition has changed.
Scope of the signal
It does not indicate failed initialization or a missing language database. Without the call boundary for refilling or consuming TEXT_SOURCE during IWordBreaker::BreakText, it also cannot identify which wrapper or configuration layer introduced the condition.
Related HRESULT values
WBREAK_E_INIT_FAILED prevents processing from starting; it closes successful traversal. 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
- check At the code boundary, keep TEXT_SOURCE iCur and iEnd positions beside the returned HRESULT.
- check In telemetry, correlate refill callback return sequence with the target and component generation.
- check For regression coverage, force the documented condition: all source characters have been processed and no further buffer can be supplied.
- check For operations staff, expose the corrective state change rather than a generic retry button.
- check After remediation, validate one known-good control and the original failing case.
Example in a pipeline
A word breaker consumes three refill buffers and receives end-of-text from the fourth callback. The indexer accepts all tokens and closes the item. 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
- Microsoft: Word-Breaking values — official contract information relevant to it.
- Microsoft: TEXT_SOURCE structure
- Microsoft: IWordBreaker::BreakText
- Microsoft: troubleshooting language resources
Looking for a different code? Search another status or error code.