Inicialização de TAPI do CoNDIS
Esta seção discute como um driver de miniporto da WAN do CoNDIS enumera seus recursos TAPI para aplicativos. Esses recursos TAPI consistem em:
Número de dispositivos de linha aos quais o driver de miniporto dá suporte – os dispositivos de linha incluem, por exemplo, um modem, uma placa de fax e uma cartão ISDN.
Informações para linhas específicas – as informações de linha incluem, por exemplo, um identificador de linha e o número de endereços de canal (números de telefone) aos quais a linha dá suporte para transmissão simultânea de voz e dados.
Informações para endereços de canal específicos em linhas de dispositivos – as informações de endereço incluem, por exemplo, a identidade de um chamador (ID do chamador) e o número de chamadas ativas possíveis.
Para recuperar informações sobre hardware subjacente, o NDPROXY emite solicitações para recursos de linha e endereço de canal. Ou seja, o driver NDPROXY consulta as funcionalidades TAPI de um driver de miniporta wan coNDIS. O driver NDPROXY chama a função NdisCoOidRequest para consultar as funcionalidades TAPI do driver de miniport. Nessa chamada, NDPROXY passa uma estrutura NDIS_OID_REQUEST. NDPROXY especifica o seguinte em NDIS_OID_REQUEST:
Valor NdisRequestQueryInformation no membro RequestType
OID (identificador de objeto) que especifica a funcionalidade TAPI a ser recuperada do driver de miniport no membro Oid
Buffer para armazenar as informações de funcionalidade tapi que são retornadas no membro InformationBuffer
Todas as consultas enviadas a um driver de miniporto wan coNDIS pelo driver NDPROXY podem ser concluídas de forma síncrona ou assíncrona. Se um driver de miniporto de WAN coNDIS determinar que ele não pode concluir a consulta imediatamente, ele poderá simplesmente retornar NDIS_STATUS_PENDING e chamar a função NdisMCmOidRequestComplete de dentro de sua função ProtocolCoOidRequest quando tiver concluído a consulta.
Depois que um driver de miniporto da WAN coNDIS notifica o NDPROXY sobre o registro de uma nova família de endereços, conforme especificado no Registro TAPI do CoNDIS, o NDPROXY consulta os seguintes OIDs para determinar os recursos específicos do TAPI do driver de miniporto da WAN do CoNDIS e da NIC do driver de miniporto.
NDPROXY consulta o driver de miniporto com OID_CO_TAPI_CM_CAPS para determinar o número de linhas compatíveis com o dispositivo do driver de miniporto (o dispositivo para o qual ele fornece serviços TAPI). Esse OID também solicita que o driver de miniporto indique se essas linhas têm funcionalidades de linha diferentes.
NDPROXY consulta o driver de miniporta com OID_CO_TAPI_LINE_CAPS para determinar os recursos de telefonia para a linha especificada. Esse OID também solicita que o driver de miniporto indique se os endereços nessa linha têm funcionalidades de endereço diferentes.
- Se a consulta anterior de OID_CO_TAPI_CM_CAPS indicado que o dispositivo do driver de miniporta dá suporte a apenas uma linha ou se o dispositivo dá suporte a várias linhas que têm os mesmos recursos de linha, NDPROXY precisa consultar OID_CO_TAPI_LINE_CAPS apenas uma vez para obter os recursos de linha do dispositivo. Nesse caso, as funcionalidades de linha retornadas pelo driver de miniporta se aplicam a todas as linhas no dispositivo.
- Se o dispositivo der suporte a várias linhas com recursos de linha diferentes, NDPROXY deverá consultar OID_CO_TAPI_LINE_CAPS uma vez para cada linha obter os recursos de linha de cada linha.
Por fim, o NDPROXY consulta o driver de miniporto com OID_CO_TAPI_ADDRESS_CAPS para determinar os recursos de telefonia para um endereço especificado em uma linha especificada.
- Se a consulta anterior de OID_CO_TAPI_LINE_CAPS indicado que a linha dá suporte a apenas um endereço ou que todos os endereços na linha têm os mesmos recursos de endereço, as consultas NDPROXY OID_CO_TAPI_ADDRESS_CAPS apenas uma vez para determinar os recursos de todos os endereços na linha.
- Se uma linha der suporte a vários endereços que têm funcionalidades diferentes, as consultas NDPROXY OID_CO_TAPI_ADDRESS_CAPS uma vez para cada endereço na linha.
O driver NDPROXY usa as informações obtidas com os OIDs de enumeração TAPI para fazer o seguinte:
Crie parâmetros TAPI para chamadas TAPI subsequentes.
Determine se as chamadas TAPI subsequentes devem ser aceitas ou rejeitadas.
Registre um ou mais SAPs (pontos de acesso de serviço) TAPI nos quais receber chamadas TAPI de entrada subsequentes.