função TSPI_lineConditionalMediaDetection (tspi.h)
A função TSPI_lineConditionalMediaDetection é invocada pelo TAPI sempre que um aplicativo cliente usa LINEMAPPER como dwDeviceID em uma chamada de função lineOpen para solicitar que as linhas sejam verificadas para localizar uma que dê suporte aos tipos de mídia e parâmetros de chamada desejados. A TAPI examina com base na união do tipo de mídia desejado e nos outros tipos de mídia que estão sendo monitorados atualmente na linha, para dar ao provedor de serviços a oportunidade de indicar se ele não pode monitorar simultaneamente todos os tipos de mídia solicitados. Se o provedor de serviços puder monitorar o conjunto indicado de tipos de mídia e dar suporte aos recursos indicados em lpCallParams, ele responderá com uma indicação de êxito. Ele deixa os modos de monitoramento de mídia ativos para a linha inalterados.
Sintaxe
LONG TSPIAPI TSPI_lineConditionalMediaDetection(
HDRVLINE hdLine,
DWORD dwMediaModes,
LPLINECALLPARAMS const lpCallParams
);
Parâmetros
hdLine
O identificador do provedor de serviços para a linha na qual os recursos de parâmetro e monitoramento de mídia devem ser definidos.
dwMediaModes
Os tipos de mídia atualmente de interesse para o aplicativo de chamada. Esse parâmetro usa uma das constantes LINEMEDIAMODE_.
lpCallParams
Um ponteiro para uma estrutura do tipo LINECALLPARAMS. Ele descreve os parâmetros de chamada que o dispositivo de linha deve ser capaz de fornecer. Os únicos campos relevantes de lpCallParams para fins deste teste são os seguintes:
dwBearerMode
dwMinRate
Dwmaxrate
Dwmediamode
dwCallParamFlags
Dwaddressmode
Se dwAddressMode for LINEADDRESSMODE_ADDRESSID, qualquer endereço na linha será aceitável. Se dwAddressMode for LINEADDRESSMODE_DIALABLEADDR, indicando que um endereço de origem específico (número de telefone) é pesquisado ou se é uma extensão específica do provedor, dwOrigAddressSize/Offset e a parte da parte variável à qual se referem também são relevantes. Se dwAddressMode for uma extensão específica do provedor, informações adicionais poderão ser contidas no campo dwDeviceSpecific variably size. Todos os outros campos são irrelevantes para a função.
Retornar valor
Retornará zero se a função for bem-sucedida ou um número de erro se ocorrer um erro. Os valores retornados possíveis são os seguintes:
LINEERR_INVALLINEHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODRIVER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_INVALMEDIAMODE, LINEERR_OPERATIONUNAVAIL.
Comentários
Uma função TAPI lineOpen que especifica um identificador de dispositivo de LINEMAPPER normalmente resulta em chamar esse procedimento para vários dispositivos de linha buscarem uma linha adequada, possivelmente também abrindo linhas ainda não abertas. Um resultado de êxito indica que a linha é adequada para os requisitos do aplicativo de chamada.
A função TSPI_lineConditionalMediaDetection retornará êxito se passar os mesmos valores de bit para a função TSPI_lineMakeCall também retornará êxito.
Se os bits SECURE, ORIGOFFHOOK e DESTOFFHOOK estiverem definidos e o parâmetro dwAddressMode for LINEADDRESSMODE_ADDRESSID, a função retornará êxito se puder ter êxito em um ou mais endereços na linha.
Se os bits SECURE, ORIGOFFHOOK e DESTOFFHOOK estiverem definidos e o parâmetro dwAddressMode for LINEADDRESSMODE_DIALABLEADDR, a função retornará êxito se puder ter êxito no endereço identificado pelo parâmetro dwOrigAddress .
O provedor de serviços retornará um erro (por exemplo, LINEERR_RESOURCEUNAVAIL) se, no momento em que essa função for chamada, for impossível colocar uma nova chamada no dispositivo de linha especificado (se ele retornar LINEERR_CALLUNAVAIL ou LINEERR_RESOURCEUNAVAIL deverá TSPI_lineMakeCall ser invocado imediatamente após abrir a linha).
Não há nenhuma função diretamente correspondente no nível tapi. Esse procedimento corresponde ao teste implícito para cada linha individual pelo procedimento lineOpen quando ele é chamado com o identificador de dispositivo LINEMAPPER.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | tspi.h |