3.1.6.1 Long-running operation with matching operation completion
Without any additional special help in the TSPI, it is difficult to resolve this ambiguity without either implementing a lot of history maintenance and "prediction" of future asynch-completion outcome in the TAPI DLL or forcing the Service Provider to implement very strict non-overlapping lifetimes for long-running operations. Instead, the TSPI uses a technique of "end to end" marking. The TAPI DLL includes a unique, uninterpreted "end to end ID" at the time of the original request. The Service Provider keeps this ID associated with the request for as long as the operation runs. When the operation finally completes, the Service Provider issues a final "operation completion" message to the TAPI DLL. This message includes the original end to end ID. This allows the TAPI DLL to distinguish it from any other instance of the same operation that may have been outstanding.