| Previous | Next |
| OLE_E_NOSTORAGE | TAPI_E_INVALCOUNTRYCODE |
TAPI_E_INVALCOMPLETIONID
TAPI call-completion identifier is invalid
TAPI_E_INVALCOMPLETIONID is HRESULT 2147745810 (0x80040012) from TAPI 3.0. The documented description is “Invalid call completion ID.” The result belongs to cancelling or querying a previously registered call-completion request. The important boundary is not merely failure but which object and state transition established: the completion ID does not identify an active completion request in the current provider context.
TAPI_E_INVALCOMPLETIONID means that the completion ID does not identify an active completion request in the current provider context.
Where the result appears
- This result can surface in a TAPI 3 address, call-control, terminal, stream, conference, dialing, or completion-management code.
- Map the failure to one concrete operation among ITTAPI, ITAddress, ITBasicCallControl, ITCallInfo, terminal and stream interfaces, provider events, and asynchronous request state.
- Preserve provider name and version, address and call IDs, device class, media type, privilege, current address and call states, and asynchronous request ID before releasing or replacing the object that returned this result.
An incident record must distinguish caller, runtime, provider, and backing resource while testing whether the completion ID does not identify an active completion request in the current provider context.
Typical causes and interpretation
The immediate contract boundary is specific: the completion ID does not identify an active completion request in the current provider context. Common cause branches include the following:
- The request already completed or was cancelled.
- The ID belongs to another line or application session.
- Provider reinitialization invalidated outstanding IDs.
Confirm the cause branch that explains why the completion ID does not identify an active completion request in the current provider context by using call arguments, object state, metadata, device information, or provider traces.
Correct handling and recovery
The primary recovery is to scope IDs to the creating session and line, remove them after terminal events, and make cancellation tolerant of already-finished requests. The failure report should capture the relevant state during cancelling or querying a previously registered call-completion request so it is clear why the completion ID does not identify an active completion request in the current provider context.
Retry this result only when evidence shows the state behind “the completion ID does not identify an active completion request in the current provider context” can change and the operation is repeatable.
Practical scenario
After telephony service restart, a client tries to cancel a completion ID from the previous session and instead clears its stale local table.
Difference from related HRESULTs
TAPI_E_COMPLETIONOVERRUN reports too many pending completions; it rejects one supplied identifier
Developer and administrator guidance
Use a controllable service provider or simulator to cover state races, capability differences, device removal, cancellation, and provider restart.
Administrators should repair the component owning cancelling or querying a previously registered call-completion request as a versioned unit instead of copying arbitrary DLLs.
References
Looking for a different code? Search another status or error code.