Call-less Asynchronous Operations

There are five asynchronous operations which are not related to any particular call. These are initiated by the TAPI lineDevSpecific, lineDevSpecificFeature, lineForward, lineSetTerminal, and lineUncompleteCall functions. If an application initiates one of these asynchronous operations and calls lineClose, the service provider may receive no indication that the application has abandoned the function. This can occur if the application was not the only application to have the line open. If the application calls lineClose with one of these operations pending, and it is the only application with a handle to the line, TAPI calls the TSPI_lineClose function and the service provider should terminate the asynchronous operation, calling the ASYNC_COMPLETION callback function for each such outstanding operation with the LINEERR_OPERATIONFAILED error value.