Share via


lineCompleteTransfer

This function completes the transfer of the specified call to the party connected in the consultation call.

LONG WINAPI lineCompleteTransfer(
  HCALL hCall,
  HCALL hConsultCall,
  LPHCALL lphConfCall,
  DWORD dwTransferMode 
);

Parameters

  • hCall
    Handle to the call to be transferred. The application must be an owner of this call. The call state of hCall must be onHold or onHoldPendingTransfer.
  • hConsultCall
    Handle to the call that represents a connection with the destination of the transfer. The application must be an owner of this call. The call state of hConsultCall must be connected, ringback, busy, or proceeding.
  • lphConfCall
    Pointer to a memory location where an hCall handle can be returned. If dwTransferMode is LINETRANSFERMODE_CONFERENCE, the newly created conference call is returned in lphConfCall and the application becomes the sole owner of the conference call. Otherwise, this parameter is ignored by TAPI.
  • dwTransferMode
    Specifies how the initiated transfer request is to be resolved. This parameter uses one of the LINETRANSFERMODE constants.

Return Values

Returns a positive request identifier if the function is completed asynchronously, or a negative error number if an error occurs. The dwParam2 parameter of the corresponding LINE_REPLY message is zero if the function succeeds or it is a negative error number if an error occurs. The following table shows the return values for this function.

Value Description
LINEERR_INVALCALLHANDLE The handle to the call to be transferred is invalid.
LINEERR_NOTOWNER The application is not the owner of this call.
LINEERR_INVALCALLSTATE The call state of hCall is not onHold or onHoldPendingTransfer.
LINEERR_OPERATIONUNAVAIL The operation is unavailable.
LINEERR_INVALCONSULTCALLHANDLE The handle to the call that represents a connection with the destination of the transfer.
LINEERR_OPERATIONFAILED The operation failed.
LINEERR_INVALTRANSFERMODE The transfer mode is invalid.
LINEERR_RESOURCEUNAVAIL The resources are unavailable.
LINEERR_INVALPOINTER The pointer is invalid.
LINEERR_UNINITIALIZED A parameter is uninitialized.
LINEERR_NOMEM Not enough memory is available.

Remarks

The LINE_REPLY message sent in response to a call to the lineCompleteTransfer function is based on the status of the call specified by the hCall parameter.

This operation completes the transfer of the original call, hCall, to the party currently connected by hConsultCall. The consultation call is typically dialed on the consultation call allocated as part of the lineSetupTransfer function, but it can be any call to which the switch is capable of transferring hCall.

The transfer request can be resolved either as a transfer or as a three-way conference call. When resolved as a transfer, the parties connected by hCall and hConsultCall are connected to each other, and both hCall and hConsultCall are typically cleared from the application's line and transition to the idle state. The application's call handle remains valid after the transfer has completed. The application must deallocate its handle with the lineDeallocateCall function.

When resolved as a conference, all three parties enter into a conference call. Both existing call handles remain valid but transition to the conferenced state. A conference call handle is created and returned, and it transitions to the connected state.

If the lineGetConfRelatedCalls function is called immediately after lineCompleteTransfer with the result that the calls are conferenced, lineGetConfRelatedCalls may not return a complete list of related calls. This is because TAPI waits to receive a LINE_CALLSTATE message indicating that the call has entered LINECALLSTATE_CONFERENCED before it considers the call to actually be part of the conference. That is, it waits for the service provider to confirm the conferenced state. After the application has received the LINE_CALLSTATE message, lineGetConfRelatedCalls returns complete information.

It can also be possible to perform a blind transfer of a call using lineBlindTransfer.

Note   This function is for TAPI version 2.0 and later.

Requirements

OS Versions: Windows CE 1.0 and later.
Header: Tapi.h.
Link Library: Coredll.lib.

See Also

lineBlindTransfer | lineDeallocateCall | lineGetConfRelatedCalls | lineSetupTransfer | LINE_CALLSTATE | LINE_REPLY

 Last updated on Saturday, April 10, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.