Método ITAddress::CreateCall (tapi3if.h)

O método CreateCall cria um novo objeto Call que pode ser usado para fazer uma chamada de saída e retorna um ponteiro para a interface ITBasicCallControl do objeto. A chamada recém-criada está no estado CS_IDLE e não tem mídia ou terminais selecionados.

Valores de entrada aceitáveis para endereço de chamada, tipo de endereço e tipos de mídia são específicos para o provedor de serviços de telefonia que dá suporte ao endereço atual. Para obter informações sobre TSPs enviados com o Windows 2000, consulte About The Telephony Service Provider (TSP). Para TSPs de terceiros, consulte a documentação fornecida pelo vendedor.

Sintaxe

HRESULT CreateCall(
  [in]  BSTR               pDestAddress,
  [in]  long               lAddressType,
  [in]  long               lMediaTypes,
  [out] ITBasicCallControl **ppCall
);

Parâmetros

[in] pDestAddress

Esta cadeia de caracteres BSTR contém um endereço de destino. O formato é específico do provedor. Esse ponteiro pode ser NULL para endereços não discados (como com um telefone quente) ou quando toda a discagem é executada usando ITBasicCallControl::D ial. NULL em combinação com um pGroupIDNULL em ITBasicCallControl::P ickup resulta em uma retirada de grupo. Os provedores de serviços que têm funcionalidades de multiplexação inversas podem permitir que um aplicativo especifique vários endereços ao mesmo tempo.

[in] lAddressType

Contém uma constante de tipo de endereço , como LINEADDRESSTYPE_PHONENUMBER, que descreve o formato do endereço. O valor deve ser válido para esse endereço. Use ITAddressCapabilities::get_AddressCapability com AddressCap definido como AC_ADDRESSTYPES para verificar o valor.

[in] lMediaTypes

Identifica o tipo de mídia ou os tipos que estarão envolvidos na sessão de chamada.

[out] ppCall

Ponteiro para a interface ITBasicCallControl .

Retornar valor

Esse método pode retornar um desses valores.

Valor Significado
S_OK
O método foi bem-sucedido.
E_INVALIDARG
O tipo de endereço , lAddressType, é inválido ou especifica mais de um tipo de endereço.
E_OUTOFMEMORY
Há memória insuficiente para executar a operação.
E_POINTER
O parâmetro ppCall não é um ponteiro válido.

Comentários

O aplicativo deve usar SysAllocString para alocar memória para o parâmetro pDestAddress e usar SysFreeString para liberar a memória quando a variável não for mais necessária.

Quando o tipo de endereço é LINEADDRESSTYPE_SDP, o aplicativo deve chamar o método ITSDP::get_IsValid em pDestAddress para verificar se as informações do SDP contidas são construídas corretamente de acordo com o RFC 2327.

Chamadas usadas como chamadas de consulta, como durante uma conferência, transferência ou operação de encaminhamento, devem ser criadas usando esse método.

O TAPI chama o método AddRef na interface ITBasicCallControlretornada por ITAddress::CreateCall. O aplicativo deve chamar Release na interface ITBasicCallControl para liberar recursos associados a ele.

Nota Esse método não é precisamente o mesmo que lineMakeCall no TAPI 2. Ele fornece ao TAPI muitas das mesmas informações, mas as operações paralelas não são executadas até que ITBasicCallControl::Connect seja chamado.
 

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho tapi3if.h (inclua Tapi3.h)
Biblioteca Uuid.lib
DLL Tapi3.dll

Confira também

Objeto Address

ITAddress

ITBasicCallControl

ITBasicCallControl::D ial

Linedial