Trasferire una chiamata

Nell'esempio di codice seguente viene illustrato un trasferimento di chiamata.

Prima di usare questo esempio di codice, una chiamata deve essere in corso ed è necessario eseguire le operazioni in Effettuare una chiamata o Ricevere una chiamata.

Nota

In questo esempio non sono disponibili il controllo degli errori e le versioni appropriate per il codice di produzione.

 

// From elsewhere in your code, you have obtained pAddress and pBasicCall, 
// which are pointers to the ITAddress and ITBasicCallControl interfaces
// of the call in progress that will be transferred.

// Create the call object for transfer. bstrAddressToCall and dwAddressType
// have been retrieved from a UI.
ITBasicCallControl * pConsultCall
HRESULT hr = pAddress->CreateCall(
        bstrAddressToCall,
        dwAddressType,
        &pConsultCall
        );
// If ( hr != S_OK ) process the error here. 

// Start the transfer.
hr = pBasicCall->Transfer(
        pConsultCall,
        VARIANT_TRUE
        );
// If ( hr != S_OK ) process the error here. 

// Depending on the service provider, additional operations may be available
// or required.

// Finish the transfer.
hr = pConsultCall->Finish(FM_ASTRANSFER);
// If ( hr != S_OK ) process the error here. 

// The consultation call transitions to CS_DISCONNECTED.
// The objects associated with pConsultCall and pBasicCall can be released immediately or
// used for information purposes and released later.

ITCallInfo

ITBasicCallControl

ITCallHub