Compartilhar via


lineOpen

Windows Mobile SupportedWindows Embedded CE Supported

9/19/2008

Essa função abre o dispositivo de linha especificado por seu identificador dispositivo e retorna um identificador de linha para o correspondente aberto dispositivo de linha. Esse identificador de linha é usado em operações subseqüentes no dispositivo de linha.

Syntax

LONG lineOpen(
  HLINEAPP hLineApp, 
  DWORD dwDeviceID, 
  LPHLINE lphLine, 
  DWORD dwAPIVersion, 
  DWORD dwExtVersion, 
  DWORD dwCallbackInstance, 
  DWORD dwPrivileges, 
  DWORD dwMediaModes, 
  LPLINECALLPARAMS const lpCallParams
);

Parameters

  • hLineApp
    [no] Identificador para registro do aplicativo com TAPI.
  • dwDeviceID
    [no] Identificador do dispositivo de linha a ser aberto. Ele deve ser um válido identificador dispositivo.
  • lphLine
    [out] Ponteiro para um HLINE identificador que é carregado, em seguida, com o identificador que representa o dispositivo de linha aberto. Use este identificador para identificar o dispositivo ao chamar outras funções no aberto dispositivo de linha.
  • dwAPIVersion
    [no] Número versão TAPI sob a qual o aplicativo e TAPI concordaram para operar. Esse número é obtido com o lineNegotiateAPIVersion função.
  • dwExtVersion
    [no] Sem suporte; definido como zero.
  • dwCallbackInstance
    [no] Usuário-dados instância passados voltar para o aplicativo com cada mensagem associado com esta linha ou endereços ou chamadas nesta linha. Este parâmetro não é interpretado pelo TAPI.
  • dwPrivileges
    [no] Privilégio de aplicativo deseja para as chamadas que ele é notificado para. Este parâmetro pode ser uma combinação da LINECALLPRIVILEGE. A seguinte tabela mostra os valores de parâmetro pode demorar.

    Valor Descrição

    LINECALLPRIVILEGE_NONE

    O aplicativo pode fazer chamadas somente de saída.

    LINECALLPRIVILEGE_MONITOR

    O aplicativo pode monitor somente de entrada e de saída chamadas.

    LINECALLPRIVILEGE_OWNER

    O aplicativo pode possuir apenas de entrada chamadas dos tipos especificadas na dwMediaModes.

    LINECALLPRIVILEGE_MONITOR + LINECALLPRIVILEGE_OWNER

    O aplicativo pode possuir apenas de entrada chamadas dos tipos especificadas na dwMediaModes, mas se não for um proprietário de um chamar, é um monitor.

    São outras combinações sinalizador inválido.

  • dwMediaModes
    [no] Modo de mídia ou modos de interesse para o aplicativo. Este parâmetro é usado para registrar o aplicativo como um destino potencial para de entrada chamar e entrega chamar para o modo de mídia especificado. Este parâmetro é significativo somente se o bit LINECALLPRIVILEGE_OWNER in dwPrivileges é definido (e ignorado se ele não for). Este parâmetro usa LINEMEDIAMODE.
  • lpCallParams
    [no] Ponteiro para uma estrutura de tipo LINECALLPARAMS. Esse ponteiro deve ser definido como NULL para 2.x Windows Embedded CE.

Return Value

Zero indica sucesso. Um número de erro negativa indica que ocorreu um erro. A seguinte tabela mostra os valores de retorno para esta função.

Valor Descrição

LINEERR_ALLOCATED

A linha não pode ser aberta devido a uma condição persistente.

LINEERR_BADDEVICEID

ID de dispositivo fornecido está incorreto.

LINEERR_INCOMPATIBLEAPIVERSION

A versão API é incompatível

LINEERR_INCOMPATIBLEEXTVERSION

A versão extensão é incompatível.

LINEERR_INVALAPPHANDLE

O identificador APP é inválido.

LINEERR_INVALMEDIAMODE

O dispositivo de linha é aberto com privilégio proprietário e um modo de mídia extensão não está registrado.

LINEERR_INVALPOINTER

O ponteiro é inválido.

LINEERR_INVALPRIVSELECT

O privilégio selecionado é inválido.

LINEERR_LINEMAPPERFAILED

 

LINEERR_NODEVICE

O dispositivo não foi encontrado.

LINEERR_NODRIVER

O driver não foi encontrado.

LINEERR_NOMEM

É insuficiente de memória disponível para esta operação.

LINEERR_OPERATIONFAILED

A operação falhou.

LINEERR_OPERATIONUNAVAIL

A operação é não disponível.

LINEERR_REINIT

O aplicativo tentado inicializar TAPI duas vezes.

LINEERR_RESOURCEUNAVAIL

A linha não pode ser aberta devido a um dinâmico recurso overcommitment

LINEERR_STRUCTURETOOSMALL

A estrutura é muito pequena.

LINEERR_UNINITIALIZED

Um parâmetro é não inicializado.

Remarks

Se LINEERR_ALLOCATED for retornado, a linha não é possível abrir devido a uma condição persistente, such as de um porta serial que está sendo aberto exclusivamente por outro processo. Se LINEERR_RESOURCEUNAVAIL for retornado, a linha não é possível abrir devido a um dinâmico recurso overcommitment, as in processador DSP ciclos ou memória. Este overcommitment pode ser passageira, causado pela monitoração do modo de mídia ou tons, e alterações nessas atividades por outros aplicativos podem torná-lo possíveis para reabrir a linha em um curto período de tempo.

Abrir uma linha sempre habilita o aplicativo para fazer chamadas em qualquer endereço disponível na linha. A capacidade do aplicativo para lidar com de entrada chamadas ou ser o destino de chamar handoffs na linha é determinado pelo dwMediaModes parâmetro. O lineOpen função registra o aplicativo como tendo um interesse na monitoração chamadas ou posse de recebimento de chamadas que são um dos modos de mídia especificado. Se o aplicativo apenas deseja chamadas monitor e, em seguida, ele pode especificar LINECALLPRIVILEGE_MONITOR. Se o aplicativo apenas desejar tornar de saída chamadas, ele pode especificar LINECALLPRIVILEGE_NONE. Se o aplicativo está disposto a controle não classificado chamadas (chamadas de modo de mídia desconhecido), ele pode especificar LINECALLPRIVILEGE_OWNER e LINEMEDIAMODE_UNKNOWN. Caso contrário, o aplicativo deve especificar o modo de mídia ela está interessada em manipulação.

Os modos de mídia especificados com lineOpen adicionar para o valor usar como padrão para modo de mídia do provedor de monitoração para de entrada inicial determinação tipo chamar. Se um dispositivo de linha é aberto com privilégio proprietário e um modo de mídia extensão não está registrado, em seguida, o erro LINEERR_INVALMEDIAMODE será retornado.

Um aplicativo que abriu com êxito um dispositivo de linha pode iniciar chamadas usando o lineMakeCall função.

Um único aplicativo pode especificar múltiplo sinalizadores simultaneamente para identificador múltiplo modos de mídia. Conflito pode ocorrer se múltiplo aplicativos aberto o mesmo dispositivo de linha para o mesmo modo de mídia. Esses conflitos são resolvidos por uma esquema prioridade na qual o usuário atribui relativo prioridades para os aplicativos. Somente o aplicativo prioridade mais alto para um modo de mídia especificado nunca receberão apropriar (não solicitada) de um chamar de que modo de mídia. A propriedade pode ser recebida quando uma de entrada chamar primeiro chega ou quando um chamar é entregue fora.

Um aplicativo que voz automatizada alças também deve selecionar o interativo voz aberto modo e ser atribuída a prioridade mais baixa para interativo voz. O motivo disso é que relatório provedores serviço todos voz modos de mídia como interativo voz. Se determinação modo de mídia não é executada, o aplicativo para o tipo de mídia desconhecido, e não interativo voz aplicativo abriu o dispositivo de linha, de voz chamadas seriam Não é possível acessar o aplicativo de voz automatizada e deve ser descartadas.

O mesmo aplicativo, ou instalações diferentes do aplicativo a mesma, poderá aberto a mesma linha múltiplo vezes com os parâmetros mesmos ou diferentes.

Quando um aplicativo for aberto um dispositivo de linha ele deve especificar a versão TAPI negociado, qual é obtida com um chamar para o lineNegotiateAPIVersion função. Numeração versão permite a mixagem e compatível de aplicativo diferentes versões com diferentes versões TAPI.

Requirements

Header tapi.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

lineGetID
lineInitialize
lineMakeCall
lineNegotiateAPIVersion
lineShutdown
LINECALLPARAMS