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 |
---|---|
|
O método foi bem-sucedido. |
|
O tipo de endereço , lAddressType, é inválido ou especifica mais de um tipo de endereço. |
|
Há memória insuficiente para executar a operação. |
|
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.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | tapi3if.h (inclua Tapi3.h) |
Biblioteca | Uuid.lib |
DLL | Tapi3.dll |