Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando uma chamada está ativa no LINEBEARERMODE_PASSTHROUGH, o provedor de serviços dá acesso direto ao hardware conectado para controle pelo aplicativo. Os aplicativos podem usar esse modo para controle direto temporário sobre modems assíncronos, acessados através das funções de comunicação , com a finalidade de configurar ou usar recursos especiais não suportados pelo provedor de serviços, como fac-símile (Classe 1, 2 e assim por diante). Esse modo de portador é suportado pelo provedor de serviços UNIMODEM (Universal Modem Driver).
Os provedores de serviços que suportam LINEBEARERMODE_PASSTHROUGH indicá-lo no dwBearerModes membro da estruturaLINEDEVCAPS. Quando LINEBEARERMODE_PASSTHROUGH for indicado, o provedor de serviços Unimodem também incluirá na área DevSpecific do LINEDEVCAPS estrutura a chave do Registro usada para acessar dados sobre o modem associado ao dispositivo de linha, no seguinte formato:
struct {
DWORD dwContents; // Set to 1 (indicates containing key).
DWORD dwKeyOffset; // Offset to key from start of this
// structure (not from start of
// LINEDEVCAPS structure).
// 8 in this case.
BYTE rgby[...]; // Place that contains null-terminated
// registry key.
}
Por exemplo:
00000001 00000008 74737953 435c6d65 ........System\C
65727275 6f43746e 6f72746e 7465536c urrentControlSet
7265535c 65636976 6c435c73 5c737361 urrentControlSet
65646f4d 30305c6d xx003030 xxxxxxxx Modem\0000.
Essa chave do Registro pode ser aberta usando a função RegOpenKey.
O modo de passagem é invocado com mais frequência usando a função lineMakeCall, definindo o bit de LINEBEARERMODE_PASSTHROUGH no dwBearerMode membro da estruturaLINECALLPARAMSapontada pelo parâmetro lpCallParams. Quando isso é feito, o provedor de serviços abre a porta serial para o modem e imediatamente colocar a chamada em LINECALLSTATE_CONNECTED. O aplicativo pode então usar a função lineGetID com a classe de dispositivo "comm/datamodem" para obter um identificador de arquivo aberto para ler e gravar na porta comm.
O modo de passagem também pode ser invocado em resposta a uma chamada recebida. Geralmente, os aplicativos invocarão o modo de passagem enquanto a chamada estiver em LINECALLSTATE_OFFERING, antes que a chamada tenha sido atendida. Em vez de chamar lineAnswer, o aplicativo chama lineSetCallParams, passando LINEBEARERMODE_PASSTHROUGH como o parâmetro dwBearerMode. Quando isso é feito, como com lineMakeCall, a chamada é imediatamente colocada em LINECALLSTATE_CONNECTED pelo provedor de serviços, e o aplicativo pode obter um identificador para a porta aberta usando lineGetID. A função lineSetCallParams pode ser chamada quando a chamada está em LINECALLSTATE_OFFERING, LINECALLSTATE_ACCEPTEDou LINECALLSTATE_CONNECTED.
O modo de passagem normalmente é encerrado chamando lineDrop no identificador de chamada obtido lineMakeCall ou a primeira mensagem LINE_CALLSTATE, se a chamada for uma chamada de entrada. O provedor de serviços fechará a porta e restaurará o modem ao seu estado padrão. O aplicativo deve chamar CloseHandle no identificador que recebeu de lineGetID.
O modo de passagem também pode ser encerrado chamando lineSetCallParams com o parâmetro dwBearerMode definido como LINEBEARERMODE_VOICE. Presume-se que o tipo de mídia (modo) definido por lineSetMediaMode esteja em vigor. Se LINEMEDIAMODE_DATAMODEM estiver ativo, o provedor de serviços assumirá a chamada como se fosse uma chamada de modem de dados já em andamento; se lineDrop for chamado posteriormente, o provedor de serviços emitirá os comandos de modem apropriados ou alterações de estado da interface para descartar uma chamada de dados.
Observação
Se o modo de Passagem for encerrado enquanto a chamada estiver em andamento, o provedor de serviços TAPI (TSP) da linha poderá restaurar as configurações do modem para seu estado padrão. Unimodem é um exemplo de um TSP que sempre restaura as configurações do modem ao encerrar o modo de passagem. Por esse motivo, o modo de passagem não pode ser usado como um método para configurar o dispositivo. O modo de Passagem só deve ser usado para atividades distintas que possam ser consideradas completas quando a Passagem for encerrada. Exemplos de atividades que podem usar o modo de passagem incluem o envio de um fax ou a reprodução de dados de onda/áudio por meio de um protocolo de modem proprietário.