Inicialización de TAPI de CoNDIS

En esta sección se describe cómo un controlador de miniporte de CoNDIS WAN enumera sus funcionalidades TAPI para las aplicaciones. Estas funcionalidades de TAPI constan de:

  • El número de dispositivos de línea que admite el controlador de miniporte incluye, por ejemplo, un módem, una placa de fax y una tarjeta ISDN.

  • La información de líneas específicas incluye, por ejemplo, un identificador de línea y el número de direcciones de canal (números de teléfono) que admite la línea para la transmisión simultánea de voz y datos.

  • La información sobre direcciones de canales específicos en líneas de dispositivos incluye, por ejemplo, la Identificación de Llamada y el número de llamadas activas posibles.

Para recuperar información sobre el hardware subyacente, NDPROXY emite solicitudes de capacidades de línea y de dirección de canal. Es decir, el controlador NDPROXY consulta las funcionalidades TAPI de un controlador de miniporte coNDIS WAN. El controlador NDPROXY llama a la función NdisCoOidRequest para interrogar las funcionalidades TAPI del controlador de miniport. En esta llamada, NDPROXY pasa una estructura NDIS_OID_REQUEST. NDPROXY especifica lo siguiente en NDIS_OID_REQUEST:

  • Valor NdisRequestQueryInformation en el miembro RequestType

  • Identificador de objeto (OID) que especifica la funcionalidad TAPI que se va a recuperar del controlador de miniport en el miembro Oid

  • Búfer para contener la información de funcionalidad TAPI que se devuelve en el miembro InformationBuffer

Todas las consultas enviadas a un controlador de miniport de CoNDIS WAN por el controlador NDPROXY se pueden completar de forma sincrónica o asincrónica. Si un controlador de miniport de CoNDIS WAN determina que no puede completar la consulta inmediatamente, simplemente puede devolver NDIS_STATUS_PENDING y llamar a la función NdisMCmOidRequestComplete desde su función ProtocolCoOidRequest cuando haya completado la consulta.

Después de que un controlador de miniporte de CoNDIS WAN notifique a NDPROXY el registro de una nueva familia de direcciones según se especifica en Registro de Tapi de CoNDIS, NDPROXY consulta los siguientes OID para determinar las capacidades específicas de TAPI del controlador de miniporte de CoNDIS WAN y la NIC del controlador de miniporte.

  • NDPROXY consulta el controlador de miniporte con OID_CO_TAPI_CM_CAPS para determinar el número de líneas compatibles con el dispositivo del controlador de miniporte (el dispositivo para el que proporciona servicios TAPI). Este OID también solicita al controlador de miniport que indique si estas líneas tienen capacidades de línea distintas.

  • NDPROXY consulta el controlador de miniporte con OID_CO_TAPI_LINE_CAPS para determinar las funcionalidades de telefonía de la línea especificada. Este OID también solicita al controlador de miniport que indique si las direcciones de esta línea tienen capacidades de dirección disímiles.

    • Si la consulta anterior de OID_CO_TAPI_CM_CAPS indica que el dispositivo del controlador de miniporte solo admite una línea, o si el dispositivo admite varias líneas que tienen las mismas funcionalidades de línea, NDPROXY tiene que consultar OID_CO_TAPI_LINE_CAPS solo una vez para obtener las funcionalidades de línea del dispositivo. En este caso, las funcionalidades de línea devueltas por el controlador de miniport se aplican a todas las líneas del dispositivo.
    • Si el dispositivo admite varias líneas con funcionalidades de líneas diferentes, NDPROXY debe consultar OID_CO_TAPI_LINE_CAPS una vez para cada línea para obtener las funcionalidades de línea de cada línea.
  • Por último, NDPROXY consulta el controlador de miniporte con OID_CO_TAPI_ADDRESS_CAPS para determinar las funcionalidades de telefonía de una dirección especificada en una línea especificada.

    • Si la consulta anterior de OID_CO_TAPI_LINE_CAPS indica que la línea solo admite una dirección o que todas las direcciones de la línea tienen las mismas funcionalidades de dirección, las consultas NDPROXY OID_CO_TAPI_ADDRESS_CAPS solo una vez para determinar las funcionalidades de todas las direcciones de la línea.
    • Si una línea admite varias direcciones que tienen funcionalidades diferentes, NDPROXY consulta OID_CO_TAPI_ADDRESS_CAPS una vez para cada dirección de la línea.

El controlador NDPROXY usa la información obtenida con los OID de enumeración TAPI para hacer lo siguiente:

  • Cree parámetros TAPI para las llamadas TAPI posteriores.

  • Determine si se deben aceptar o rechazar llamadas TAPI entrantes posteriores.

  • Registre uno o varios puntos de acceso del servicio TAPI (SAP) en los que recibir llamadas TAPI entrantes posteriores.