Función lineDrop (tapi.h)
La función lineDrop quita o desconecta la llamada especificada. La aplicación tiene la opción de especificar la información del usuario que se va a transmitir como parte de la desconexión de la llamada.
Sintaxis
LONG lineDrop(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize
);
Parámetros
hCall
Identificador de la llamada que se va a quitar. La aplicación debe ser propietario de la llamada. El estado de llamada de hCall puede ser cualquier estado excepto inactivo.
lpsUserUserInfo
Puntero a una cadena que contiene información del usuario que se va a enviar a la entidad remota como parte de la desconexión de la llamada. Este puntero se puede dejar NULL si no se va a enviar información del usuario. La información del usuario solo se envía si es compatible con la red subyacente (consulte LINEDEVCAPS). El campo discriminador del protocolo para la información del usuario, si es necesario, debe aparecer como el primer byte del búfer al que apunta lpsUserUserInfo y debe tener en cuenta en dwSize.
dwSize
Tamaño de la información del usuario en lpsUserUserInfo, en bytes. Si lpsUserUserInfo es NULL, no se envía información de usuario a la entidad que realiza la llamada y dwSize se omite.
Valor devuelto
Devuelve un identificador de solicitud positivo si la función se completa de forma asincrónica o un número de error negativo si se produce un error. El parámetro dwParam2 del mensaje de LINE_REPLY correspondiente es cero si la función se realiza correctamente o es un número de error negativo si se produce un error. Los valores devueltos posibles son:
LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_NOMEM, LINEERR_OPERATIONFAILED, LINEERR_NOTOWNER, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_USERUSERINFOTOOBIG, LINEERR_INVALCALLSTATE, LINEERR_UNINITIALIZED.
Comentarios
Al invocar lineDrop, las llamadas relacionadas a veces también pueden verse afectadas. Por ejemplo, quitar una llamada de conferencia puede quitar todas las llamadas participantes individuales. LINE_CALLSTATE mensajes se envían a la aplicación para todas las llamadas cuyo estado de llamada se ve afectado. Normalmente, una llamada quitada pasa al estado inactivo . La invocación de lineDrop en una llamada en el estado de la oferta rechaza la llamada. No todas las redes telefónicas proporcionan esta funcionalidad.
Normalmente, una llamada en estado de retención pendiente se revierte al estado conectado . Al quitar la llamada de consulta al tercero para una llamada de conferencia o al quitarlo en una llamada de conferencia establecida previamente, el proveedor (y el conmutador) pueden liberar el puente de conferencia y revertir la llamada a una llamada normal de dos partes. Si este es el caso, hConfCall realiza la transición al estado inactivo y el único resto de las transiciones de llamada participantes al estado conectado . Algunos modificadores "descontenden" automáticamente la otra llamada.
La aplicación tiene la opción de enviar información del usuario al momento de la eliminación. Incluso si se puede enviar información de usuario-usuario, no hay ninguna garantía de que la red entregará esta información a la parte remota.
En varias configuraciones puentedas o de línea de entidad cuando varias partes están en la llamada, lineDrop puede que realmente no borre la llamada. Por ejemplo, en una situación puenteda, es posible que una operación lineDrop no quite realmente la llamada porque el estado de otras estaciones de la llamada puede gobernar; en su lugar, la llamada puede simplemente cambiarse al modo LINECONNECTEDMODE_INACTIVE si permanece conectado en otras estaciones.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | tapi.h |
Library | Tapi32.lib |
Archivo DLL | Tapi32.dll |
Consulte también
Funciones de servicio de línea complementarias