| Previous | Next |
| FILTER_E_NO_MORE_VALUES | FILTER_E_NO_TEXT |
FILTER_E_ACCESS
The filter cannot access the source object
FILTER_E_ACCESS is HRESULT 0x80041703 (-2147215613 signed; 2147751683 unsigned). Its severity bit is 1, facility is 4 (FACILITY_ITF for these values), and code field is 0x1703. For FILTER_E_ACCESS, standard HRESULT severity rules classify the value as a failure. AllStat describes the value as “Unable to access object.”
State represented by the HRESULT
FILTER_E_ACCESS belongs to opening or reading the document, stream, storage or dependent resource used by a filter handler. The decisive interpretation is that the handler cannot obtain the bytes or object state required to continue extraction. For FILTER_E_ACCESS, keep the symbolic constant and method stage together in logs; its hexadecimal value alone cannot identify the owning transition or input.
For FILTER_E_ACCESS, the IFilter contract is stateful: GetChunk selects a chunk, then GetText or GetValue consumes content according to STAT_CHUNK flags. In the FILTER_E_ACCESS 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.
Likely triggers
- At step 1 for
FILTER_E_ACCESS, the service identity lacks read permission - At step 2 for
FILTER_E_ACCESS, the source stream was revoked or closed - At step 3 for
FILTER_E_ACCESS, a network or storage provider denies access - At step 4 for
FILTER_E_ACCESS, the handler requires a child object that is not accessible
The useful hypothesis for FILTER_E_ACCESS must explain both opening or reading the document, stream, storage or dependent resource used by a filter handler and the documented condition. Compare the failing case with a control that preserves source path or persistent identity and changes only filter host identity and token; this prevents unrelated environment differences from dominating the FILTER_E_ACCESS test.
Data for diagnosis
FILTER_E_ACCESS: Source path or persistent identity.FILTER_E_ACCESS: Filter host identity and token.FILTER_E_ACCESS: Underlying storage error and timestamp.FILTER_E_ACCESS: Access mode used to initialize the handler.
For FILTER_E_ACCESS, capture source path or persistent identity before releasing objects, closing handles or reconnecting. Retain the raw HRESULT with filter host identity and token, component version, UTC timestamp and correlation ID. Bound the FILTER_E_ACCESS telemetry to diagnostic metadata because document content, credentials and unrestricted query text may be sensitive.
Investigation order
- Reproduce a minimal read under the actual filter-host identity. Associate this observation specifically with
FILTER_E_ACCESS. - Separate ACL denial from missing, offline or locked content. Associate this observation specifically with
FILTER_E_ACCESS. - Check whether the source handle remained valid for the entire filter lifetime. Associate this observation specifically with
FILTER_E_ACCESS. - Capture the lower-level error before the handler maps it to this HRESULT. Associate this observation specifically with
FILTER_E_ACCESS.
Change one variable per FILTER_E_ACCESS control run. Preserve the component version and target identity, then alter only the condition described as the handler cannot obtain the bytes or object state required to continue extraction. This isolates whether FILTER_E_ACCESS is causal rather than merely repeatable.
Correct response
Restore narrowly scoped read access or a valid stream, then create a fresh filter instance. Blind retry without changing access state is not useful. For FILTER_E_ACCESS, record whether opening or reading the document, stream, storage or dependent resource used by a filter handler produced any content, update or state transition before returning. If completion remains unknown, the FILTER_E_ACCESS path must not replay non-idempotent work until the owner confirms final state.
The retry gate for FILTER_E_ACCESS should be a concrete change in source path or persistent identity or filter host identity and token. A timer alone cannot demonstrate that the FILTER_E_ACCESS contract condition has changed.
Scope of the signal
It does not identify which ACL, stream operation or embedded object caused the denial. Without the call boundary for opening or reading the document, stream, storage or dependent resource used by a filter handler, FILTER_E_ACCESS also cannot identify which wrapper or configuration layer introduced the condition.
Related HRESULT values
FILTER_E_UNREACHABLE concerns reachability, while FILTER_E_ACCESS indicates an access attempt was refused or could not be completed. In FILTER_E_ACCESS telemetry, preserve neighboring constants separately because the same visible symptom may require a different caller action, owner or recovery gate.
Developer and administrator actions
- For
FILTER_E_ACCESS, check At the code boundary, keep source path or persistent identity beside the returned HRESULT. - For
FILTER_E_ACCESS, check In telemetry, correlate filter host identity and token with the target and component generation. - For
FILTER_E_ACCESS, check For regression coverage, force the documented condition: the handler cannot obtain the bytes or object state required to continue extraction. - For
FILTER_E_ACCESS, check For operations staff, expose the corrective state change rather than a generic retry button. - For
FILTER_E_ACCESS, check After remediation, validate one known-good control and the original failing case.
Example in a pipeline
An interactive test succeeds but the search filter host runs under a service account without access to an encrypted share. Token-aware testing exposes the difference. In this scenario, handling FILTER_E_ACCESS at its real contract boundary prevents the application from collapsing a precise state into an unhelpful generic “search failed” message.
Official Microsoft references
- Microsoft: Filter-Interface values — official contract information relevant to
FILTER_E_ACCESS. - Microsoft: IFilter interface — official contract information relevant to
FILTER_E_ACCESS. - Microsoft: filter handlers in Windows Search — official contract information relevant to
FILTER_E_ACCESS. - Microsoft: testing filter handlers — official contract information relevant to
FILTER_E_ACCESS.
Looking for a different code? Search another status or error code.
