| Previous | Next |
| ERROR_GRAPHICS_INTERNAL_ERROR | ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED |
ERROR_NDIS_OFFLOAD_POLICY
The actionable meaning of TCP connection excluded from offload by local policy comes from the component that returned it. The host policy intentionally prevents this connection from entering the TCP Chimney offload path even if hardware advertises capability.
Where the result is produced
TCP offload is an optimization below a valid host TCP connection. An offload refusal can coexist with correct host-stack transport, so eligibility and data transfer need separate checks.
Policy rejection is host-side eligibility; it differs from a target rejecting the connection or an IP path being ineligible. Keep the numeric value, declared return type, and first returning operation together with ERROR_NDIS_OFFLOAD_POLICY; the same integer can belong to a different status namespace in another API.
Evidence to preserve
| Capture | Diagnostic value |
|---|---|
| Effective offload policy, interface, connection five-tuple, compartment, IPsec/filtering state, and adapter capabilities. | Identifies the concrete object and operation associated with TCP connection excluded from offload by local policy. |
| WMI/OID current configuration versus hardware capability and any policy change timestamp. | Separates argument or lifecycle state from a lower-layer provider failure. |
| ETW/network trace showing the first offload eligibility decision. | Creates a stable before-and-after comparison. |
| Known-good connection and adapter state captured on the same Windows build. | Shows whether this condition is the first result or a translated summary. |
For ERROR_NDIS_OFFLOAD_POLICY preserve effective offload policy, interface, connection five-tuple, compartment, IPsec/filtering state, and adapter capabilities before reinstalling, rebooting, clearing state, or substituting another device or provider. A success observed only after such a change is useful comparison data for ERROR_NDIS_OFFLOAD_POLICY but it does not identify the original cause.
A controlled diagnostic sequence
- Compare a permitted test connection on the same adapter. Keep unrelated inputs fixed so the changed result remains attributable to the tested variable.
- Disable only the suspected local offload policy in a lab and query current configuration again. Record the first returned status and any state transition observed.
- Verify data transfer correctness with offload disabled as a control. Treat a changed result as a new boundary rather than automatic resolution.
How nearby outcomes differ
| Observed comparison | Next conclusion to test |
|---|---|
| The first control changes the result | Concentrate on the variable isolated by this check: Compare a permitted test connection on the same adapter. |
| The second comparison reproduces the same first status | Preserve lower-layer provider, driver, service, or runtime evidence before editing application data. The second controlled check was: Disable only the suspected local offload policy in a lab and query current configuration again. |
| A different status appears after the bounded change | The operation moved to another boundary after the third controlled check. That check was: Verify data transfer correctness with offload disabled as a control. Retain both results and interpret the replacement through its own API contract. |
Correction and proof
Targeted correction. Align local policy with the supported adapter/driver configuration or accept host-stack processing as the designed fallback. For ERROR_NDIS_OFFLOAD_POLICY modify only the object, argument, policy, provider, or lifecycle state identified by the collected evidence.
Acceptance criterion. The connection either remains predictably on the host stack or offloads only when policy explicitly permits it. Re-run the original operation that produced ERROR_NDIS_OFFLOAD_POLICY under its original identity and supported configuration, then keep one negative control that still produces the expected neighboring outcome.
Technical references
References for ERROR_NDIS_OFFLOAD_POLICY on the deployed platform version.
- Microsoft Open Specifications: HRESULT values — defines the status namespace used.
- Microsoft: HRESULT facility extraction — documents the API or lifecycle boundary behind this condition.
- Microsoft: full TCP offload — provides ABI, implementation, or protocol context.
- Microsoft: NDIS Chimney interfaces — supports the portability and verification limits.
Looking for a different code? Search another status or error code.
