Inicialización de TAPI de CoNDIS
En esta sección se describe cómo un controlador de miniporte coNDIS WAN enumera sus funcionalidades TAPI para las aplicaciones. Estas funcionalidades de TAPI constan de:
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 de direcciones de canal específicas en líneas de información de direcciones de dispositivos incluye, por ejemplo, la identidad de un autor de llamada (id. de llamada) y el número de llamadas activas posibles.
Para recuperar información sobre el hardware subyacente, NDPROXY emite solicitudes de funcionalidades de línea y de dirección de canal. Es decir, el controlador NDPROXY consulta las funcionalidades tapi de un controlador de miniporte de CoNDIS WAN. El controlador NDPROXY llama a la función NdisCoOidRequest para consultar las funcionalidades TAPI del controlador de minipuerto. En esta llamada, NDPROXY pasa una estructura de 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 miniporte 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 miniporte coNDIS WAN por el controlador NDPROXY se pueden completar de forma sincrónica o asincrónica. Si un controlador de miniporte 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, tal como se especifica en El registro de TAPI de CoNDIS, NDPROXY consulta los siguientes OID para determinar las funcionalidades específicas de TAPI del controlador de miniporte 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 admitidas por el dispositivo del controlador de miniporte (el dispositivo para el que proporciona servicios TAPI). Este OID también solicita al controlador de miniportar que indique si estas líneas tienen capacidades de líneas diferentes.
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 minipuerto que indique si las direcciones de esta línea tienen capacidades de dirección diferentes.
- Si la consulta anterior de OID_CO_TAPI_CM_CAPS indicó 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 minipuerto 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 indicó 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, NDPROXY consulta 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 llamadas TAPI posteriores.
Determine si se deben aceptar o rechazar llamadas TAPI entrantes posteriores.
Registre uno o varios puntos de acceso de servicio (SAP) de TAPI en los que recibir llamadas ENTRANTEs posteriores a TAPI.