función TSPI_lineConditionalMediaDetection (tspi.h)
TAPI invoca la función TSPI_lineConditionalMediaDetection cada vez que una aplicación cliente usa LINEMAPPER como dwDeviceID en una llamada de función lineOpen para solicitar que las líneas se examinen para encontrar una que admita los tipos de medios deseados y los parámetros de llamada. TAPI escanea en función de la unión del tipo de medio deseado y los demás tipos de medios que se supervisan actualmente en la línea, para dar al proveedor de servicios la oportunidad de indicar si no puede supervisar simultáneamente todos los tipos de medios solicitados. Si el proveedor de servicios puede supervisar el conjunto indicado de tipos de medios y admitir las funcionalidades indicadas en lpCallParams, responde con una indicación correcta. Deja los modos de supervisión de medios activos para la línea sin cambios.
Sintaxis
LONG TSPIAPI TSPI_lineConditionalMediaDetection(
HDRVLINE hdLine,
DWORD dwMediaModes,
LPLINECALLPARAMS const lpCallParams
);
Parámetros
hdLine
El identificador del proveedor de servicios en la línea en la que se van a establecer las funcionalidades de supervisión de medios y parámetros.
dwMediaModes
Los tipos de medios que actualmente son de interés para la aplicación que llama. Este parámetro usa una de las constantes LINEMEDIAMODE_.
lpCallParams
Puntero a una estructura de tipo LINECALLPARAMS. Describe los parámetros de llamada que debe proporcionar el dispositivo de línea. Los únicos campos relevantes de lpCallParams para los fines de esta prueba son los siguientes:
dwBearerMode
dwMinRate
dwMaxRate
dwMediaMode
dwCallParamFlags
dwAddressMode
Si dwAddressMode es LINEADDRESSMODE_ADDRESSID, cualquier dirección de la línea es aceptable. Si dwAddressMode es LINEADDRESSMODE_DIALABLEADDR, lo que indica que se busca una dirección de origen específica (número de teléfono) o si es una extensión específica del proveedor, dwOrigAddressSize/Offset y la parte de la parte de la variable a la que hacen referencia también son pertinentes. Si dwAddressMode es una extensión específica del proveedor, se puede contener información adicional en el campo dwDeviceSpecific de tamaño variable. Todos los demás campos son irrelevantes para la función.
Valor devuelto
Devuelve cero si la función se realiza correctamente o un número de error si se produce un error. Los valores devueltos posibles son los siguientes:
LINEERR_INVALLINEHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODRIVER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_INVALMEDIAMODE, LINEERR_OPERATIONUNAVAIL.
Comentarios
Una función lineOpen tapI que especifica un identificador de dispositivo de LINEMAPPER normalmente da como resultado llamar a este procedimiento para que varios dispositivos de línea busquen una línea adecuada, posiblemente también abriendo líneas sin abrir. Un resultado correcto indica que la línea es adecuada para los requisitos de la aplicación que realiza la llamada.
La función TSPI_lineConditionalMediaDetection devuelve éxito si pasar los mismos valores de bits a la función TSPI_lineMakeCall también devolvería éxito.
Si se establecen los bits SECURE, ORIGOFFHOOK y DESTOFFHOOK y el parámetro dwAddressMode es LINEADDRESSMODE_ADDRESSID, la función devuelve el éxito si puede realizarse correctamente en una o varias direcciones de la línea.
Si se establecen los bits SECURE, ORIGOFFHOOK y DESTOFFHOOK y el parámetro dwAddressMode es LINEADDRESSMODE_DIALABLEADDR, la función devuelve el éxito si puede realizarse correctamente en la dirección identificada por el parámetro dwOrigAddress .
El proveedor de servicios devuelve un error (por ejemplo, LINEERR_RESOURCEUNAVAIL) si, en el momento en que se llama a esta función, es imposible realizar una nueva llamada en el dispositivo de línea especificado (si devolvería LINEERR_CALLUNAVAIL o LINEERR_RESOURCEUNAVAIL se debería invocar TSPI_lineMakeCall inmediatamente después de abrir la línea).
No hay ninguna función correspondiente directamente en el nivel TAPI. Este procedimiento corresponde a la prueba implícita para cada línea individual por el procedimiento lineOpen cuando se llama con el identificador de dispositivo LINEMAPPER.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | tspi.h |