función TSPI_lineDial (tspi.h)
La función TSPI_lineDial marca el número de marcado especificado en la llamada especificada.
Sintaxis
LONG TSPIAPI TSPI_lineDial(
DRV_REQUESTID dwRequestID,
HDRVCALL hdCall,
LPCWSTR lpszDestAddress,
DWORD dwCountryCode
);
Parámetros
dwRequestID
Identificador de la solicitud asincrónica.
hdCall
Identificador del proveedor de servicios a la llamada que se va a marcar. El estado de llamada de hdCall puede ser cualquier estado excepto inactivo y desconectado.
lpszDestAddress
Puntero a una cadena Unicode terminada en null que especifica el destino que se va a marcar con el formato de número de marcado estándar.
dwCountryCode
Código de país o región del destino. La implementación lo usa para seleccionar los protocolos de progreso de llamada para la dirección de destino. Si se especifica un valor de 0, se usa un protocolo predeterminado de progreso de llamada definido por el proveedor de servicios. TAPI no valida este parámetro cuando se llama a esta función.
Valor devuelto
Devuelve dwRequestID o un número de error si se produce un error. El parámetro real lResult del ASYNC_COMPLETION correspondiente es cero si la función se realiza correctamente o si se produce un error. Los valores devueltos posibles son los siguientes:
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCOUNTRYCODE, LINEERR_DIALBILLING, LINEERR_INVALCALLSTATE, LINEERR_DIALQUIET, LINEERR_ADDRESSBLOCKED, LINEERR_DIALDIALTONE, LINEERR_NOMEM, LINEERR_DIALPROMPT, LINEERR_OPERATIONUNAVAIL.
Comentarios
El proveedor de servicios devuelve LINEERR_INVALCALLSTATE si el estado actual de la llamada no permite el marcado.
El proveedor de servicios no realiza ninguna marcación si devuelve LINEERR_INVALADDRESS.
Si el proveedor de servicios devuelve LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE o LINEERR_DIALPROMPT, no debe realizar ninguna de las acciones realizadas de otro modo por TSPI_lineDial (por ejemplo, sin marcado parcial y sin offhook). Esto se debe a que el proveedor de servicios debe examinar previamente el número de caracteres no admitidos en primer lugar.
TSPI_lineDial se utiliza para marcar en una apariencia de llamada existente; por ejemplo, los identificadores de llamada devueltos desde TSPI_lineMakeCall con NULL como lpszDestAddress o finalizando en ';', identificadores de llamada devueltos desde TSPI_lineSetupTransfer o TSPI_lineSetupConference. TSPI_lineDial se puede invocar varias veces en el transcurso de la marcación en el caso de marcado de varias fases, si las funcionalidades del dispositivo de la línea lo permiten.
Si la cadena a la que apunta el parámetro lpszDestAddress en la llamada anterior a la función TSPI_lineMakeCall o TSPI_lineDial finaliza con un punto y coma, una cadena vacía en la llamada actual a TSPI_lineDial indica que se ha completado la marcación.
Se pueden proporcionar varias direcciones en una sola cadena de marcado separada por CRLF. Los proveedores de servicios que proporcionan multiplexación inversa pueden establecer llamadas físicas individuales con cada una de las direcciones y devolver un identificador de llamada único al agregado de todas las llamadas a la aplicación. Todas las direcciones usarían el mismo código de país o región.
La marcación se considera completa después de que el proveedor de servicios haya aceptado la dirección, no después de que la llamada se conecte finalmente. Los proveedores de servicios que proporcionan multiplexación inversa pueden permitir que se proporcionen varias direcciones a la vez. El proveedor de servicios debe enviar mensajes LINE_CALLSTATE a TAPI para informarle sobre el progreso de la llamada.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | tspi.h |