Función lineDeallocateCall (tapi.h)

La función lineDeallocateCall desasigna el identificador de llamada especificado.

Sintaxis

LONG lineDeallocateCall(
  HCALL hCall
);

Parámetros

hCall

Identificador de llamada que se va a desasignar. Una aplicación con privilegios de supervisión para una llamada siempre puede desasignar su identificador para esa llamada. Una aplicación con privilegios de propietario para una llamada puede desasignar su identificador a menos que sea el único propietario de la llamada y la llamada no esté en estado inactivo . El identificador de llamada ya no es válido después de desasignarse.

Valor devuelto

Devuelve cero si la solicitud se realiza correctamente o un número de error negativo si se produce un error. Entre los valores devueltos posibles se incluyen:

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Comentarios

La desasignación no afecta al estado de llamada de la llamada física. Sin embargo, libera recursos internos relacionados con la llamada.

En versiones de API anteriores a la 2.0, si la aplicación es el único propietario de una llamada y la llamada no está en estado inactivo , se devuelve LINEERR_INVALCALLSTATE. En este caso, la aplicación puede quitar primero la llamada mediante lineDrop y desasignar su identificador de llamada después. Una aplicación que tenga privilegios de supervisión para una llamada siempre puede desasignar su identificador para la llamada.

En las versiones de API 2.0 o posteriores, el único propietario de la llamada puede desasignar su identificador aunque la llamada no esté en estado inactivo . Esto permite el control distribuido de la llamada en un entorno de cliente o servidor.

Nota Dejar la llamada sin propietario puede provocar que el usuario no pueda finalizar la llamada si hay aplicaciones de supervisión abiertas, lo que impide que TAPI llame a TSPI_lineCloseCall. Use esta característica solo si la aplicación puede determinar que el usuario puede controlar externamente la llamada. Para obtener más información, consulte LINEADDRCAPFLAGS_CLOSEDROP.
 
En las versiones de API anteriores a 2.0, cuando la función lineDeallocateCall desasigna un identificador de llamada, también suspende el procesamiento adicional de los mensajes de LINE_REPLY pendientes para la llamada. Una aplicación debe diseñarse para no esperar indefinidamente a que LINE_REPLY mensajes para cada llamada correspondiente a una función asincrónica si también usa la función lineDeallocateCall para desasignar identificadores.

En las versiones de API 2.0 o posteriores, lineDeallocateCall no suspende mensajes de LINE_REPLY pendientes; cada función asincrónica que devuelve un dwRequestID a la aplicación siempre da como resultado la entrega del mensaje de LINE_REPLY asociado a menos que la aplicación llame a lineShutdown.

Requisitos

   
Plataforma de destino Windows
Encabezado tapi.h
Library Tapi32.lib
Archivo DLL Tapi32.dll

Consulte también

Referencia básica de servicios de telefonía

LINE_REPLY

Información general de referencia de TAPI 2.2

Introducción a la finalización de una sesión

lineDrop

lineShutdown