Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function deallocates the specified call handle.

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 idlestate. The call handle is no longer valid after it has been deallocated.

Return Value

Zero indicates success. A negative error number indicates that an error occurred. The following table shows the return values for this function.

Value Description

LINEERR_INVALCALLHANDLE

Invalid call handle

LINEERR_INVALCALLSTATE

Call is not in the idle state

LINEERR_NOMEM

Not enough memory

LINEERR_OPERATIONFAILED

The operation failed

LINEERR_RESOURCEUNAVAIL

The resource is unavailable

LINEERR_UNINITIALIZED

The parameter is uninitialized

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 idlestate, LINEERR_INVALCALLSTATE is returned. In this case, the application can first drop the call using the lineDropfunction 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.

When the lineDeallocateCallfunction deallocates a call handle, it also suspends further processing of any outstanding LINE_REPLYmessages for the call. An application must be designed notto wait indefinitely for LINE_REPLY messages for each corresponding call to an asynchronous function if it also uses the lineDeallocateCallfunction to deallocate handles.

Requirements

Header tapi.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also