Site icon EfmSoft

What does HRESULT 0x80041703 (FILTER_E_ACCESS) mean?

 
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

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

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

  1. Reproduce a minimal read under the actual filter-host identity. Associate this observation specifically with FILTER_E_ACCESS.
  2. Separate ACL denial from missing, offline or locked content. Associate this observation specifically with FILTER_E_ACCESS.
  3. Check whether the source handle remained valid for the entire filter lifetime. Associate this observation specifically with FILTER_E_ACCESS.
  4. 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

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


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

Exit mobile version