| Previous | Next |
| STATUS_ADDRESS_ALREADY_ASSOCIATED | STATUS_CONNECTION_INVALID |
STATUS_ADDRESS_NOT_ASSOCIATED
A connect or listen path reached an endpoint before local-address association was established
STATUS_ADDRESS_NOT_ASSOCIATED is the inverse of the already-associated condition. In TDI, a kernel client opened a connection endpoint and a local address as separate objects, then issued TDI_ASSOCIATE_ADDRESS to bind the endpoint to that local-node address. Microsoft documents association as a prerequisite before endpoint-to-endpoint connect and listen operations.
The status therefore suggests missing initialization or premature teardown rather than a remote host failure. A disassociate request racing with a reconnect, a reused endpoint whose setup path was skipped, or error recovery that continues after association failed can all leave later operations with no local address context.
Preserve the first failed operation and walk backward through the endpoint state transitions. Do not issue a blind association from an arbitrary error handler unless that handler also owns endpoint initialization; doing so can race the normal setup path and convert this error into STATUS_ADDRESS_ALREADY_ASSOCIATED. Serialize the state machine and log association completion explicitly.
What to inspect
- The endpoint object, requested operation, and last successful association or disassociation completion for that object.
- Whether connect/listen starts only after
TDI_ASSOCIATE_ADDRESScompletion rather than after the request is merely queued. - Retry and cancellation paths that may skip association or tear it down while another operation is still active.
References
- Microsoft: TDI_ASSOCIATE_ADDRESS
- Microsoft: TDI_DISASSOCIATE_ADDRESS
- Microsoft: TDI_CONNECT
- Microsoft: TDI_LISTEN
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.