This function deallocates the specified call handle.
At a Glance
Header file: | Tapi.h |
Windows CE versions: | 1.0 and later |
Syntax
LONG lineDeallocateCall(HCALL hCall);
Parameters
hCall
[in] Call handle to be deallocated. An application with monitoring privileges for a call can always deallocate its handle for that call. An application with owner privilege for a call can deallocate its handle unless it is the sole owner of the call and the call is not in the idle state. The call handle is no longer valid after it has been deallocated.
Return Values
Zero indicates success. A negative error number indicates that an error occurred. Possible error values are as follows:
Remarks
The deallocation does not affect the call state of the physical call. It does, however, release internal resources related to the call.
In TAPI versions earlier than 2.0, if the application is the sole owner of a call and the call is not in the idle state, LINEERR_INVALCALLSTATE is returned. In this case, the application can first drop the call using lineDrop and deallocate its call handle afterwards. An application that has monitor privilege for a call can always deallocate its handle for the call.
Note Be aware that leaving the call without an owner can result in the user being unable to terminate the call if there are monitoring applications open preventing TAPI from calling TSPI_lineCloseCall. Use this feature only if the application can determine that the call can be controlled externally by the user. For more information, see LINEADDRCAPFLAGS_CLOSEDROP.
When the lineDeallocateCall function deallocates a call handle, it also suspends further processing of any outstanding LINE_REPLY messages for the call. An application must be designed not to wait indefinitely for LINE_REPLY messages for each corresponding call to an asynchronous function if it also uses the lineDeallocateCall function to deallocate handles.