| Previous | Next |
| FILTER_E_NO_TEXT | FILTER_E_EMBEDDING_UNAVAILABLE |
FILTER_E_NO_VALUES
The current filter chunk does not expose property values
FILTER_E_NO_VALUES is HRESULT 0x80041706. Its failure-severity encoding reports that GetValue was used for a non-value chunk, so the caller must follow STAT_CHUNK. Windows documents it as “No values in current chunk.”
Where the result belongs
This result belongs to calling IFilter::GetValue for a chunk that is text-bearing or otherwise not a value chunk. The consumer violates the chunk-type contract rather than exhausting a valid value sequence.
Concrete causes
- Check CHUNK_TEXT is active when GetValue is called.
- Check the property flag was read from the wrong STAT_CHUNK.
- Check a generic pipeline probes both methods unconditionally.
Compare the failing case with a control that preserves STAT_CHUNK flags and property specification and changes only method call trace for the active chunk; this prevents unrelated environment differences from dominating the test.
Evidence to retain
- STAT_CHUNK flags and property specification
- Method call trace for the active chunk
- Chunk id ownership across threads
- Returned PROPVARIANT pointer state
Capture STAT_CHUNK flags and property specification before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with method call trace for the active chunk, component version, UTC timestamp and correlation ID.
Diagnostic path
- Bind extraction behavior to the current successful GetChunk result.
- Call GetText only for text chunks and GetValue only for value chunks.
- Check that asynchronous work does not reorder chunk metadata.
- Run Microsoft filter tests against the handler and consumer.
Preserve the component version and target identity, then alter only the condition described as the consumer violates the chunk-type contract rather than exhausting a valid value sequence.
Recovery and retry
Correct the caller dispatch or move to the next chunk. Repeated GetValue calls against this chunk should not be treated as transient failures. Record whether calling IFilter::GetValue for a chunk that is text-bearing or otherwise not a value chunk produced any content, update or state transition before returning.
Retry only after a concrete change in STAT_CHUNK flags and property specification or method call trace for the active chunk.
What must not be inferred
It does not prove that the document has no metadata or that a requested property GUID is invalid. Without the call boundary for calling IFilter::GetValue for a chunk that is text-bearing or otherwise not a value chunk, it also cannot identify which wrapper or configuration layer introduced the condition.
Nearby results
FILTER_E_NO_MORE_VALUES follows a valid value stream; it means the selected chunk has none.
Developer and administrator actions
- Record STAT_CHUNK flags and property specification with the returned HRESULT.
- In telemetry, correlate method call trace for the active chunk with the target and component generation.
- For regression coverage, force the documented condition: the consumer violates the chunk-type contract rather than exhausting a valid value sequence.
Operational example
A diagnostic tool calls both extraction methods for every chunk. It records this HRESULT as expected for text chunks instead of reporting corruption.
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.
