Función linePickup (tapi.h)

La función linePickup recoge una alerta de llamada en la dirección de destino especificada y devuelve un identificador de llamada para la llamada seleccionada. Si se invoca con NULL para el parámetro lpszDestAddress , se realiza una recogida de grupo. Si el dispositivo lo requiere, lpszGroupID especifica el identificador de grupo al que pertenece la estación de alertas.

Sintaxis

LONG linePickup(
  HLINE   hLine,
  DWORD   dwAddressID,
  LPHCALL lphCall,
  LPCSTR  lpszDestAddress,
  LPCSTR  lpszGroupID
);

Parámetros

hLine

Controle el dispositivo de línea abierta en el que se va a recoger una llamada.

dwAddressID

Dirección en hLine en la que se origina la recogida. Un identificador de dirección está asociado permanentemente a una dirección; el identificador permanece constante en las actualizaciones del sistema operativo.

lphCall

Puntero a una ubicación de memoria donde se devuelve el identificador de la llamada seleccionada. La aplicación es el único propietario inicial de la llamada.

lpszDestAddress

Puntero a un búfer de caracteres terminado en null que contiene la dirección cuya llamada se va a recoger. La dirección está en formato de dirección de marcado estándar.

lpszGroupID

Puntero a un búfer de caracteres terminado en null que contiene el identificador de grupo al que pertenece la estación de alertas. Este parámetro es necesario en algunos modificadores para recoger llamadas fuera del grupo de recogida actual.

El parámetro lpszGroupID se puede especificar por sí mismo con un puntero NULL para lpszDestAddress. Como alternativa, lpszGroupID se puede especificar además de lpszDestAddress, si es necesario por el dispositivo.

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 ejecuta correctamente o es un número de error negativo si se produce un error. Los valores devueltos posibles son:

LINEERR_INVALADDRESS, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALGROUPID, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED.

Comentarios

Cuando una llamada se ha recogido correctamente, el mensaje de LINE_CALLSTATE notifica a la aplicación sobre los cambios de estado de llamada. La estructura LINECALLINFO proporciona información sobre la llamada que se ha recogido. Enumera el motivo de la llamada como recogida. Esta estructura está disponible mediante lineGetCallInfo.

Si LINEADDRCAPFLAGS_PICKUPCALLWAIT es TRUE, linePickup se puede usar para recoger una llamada para la que el usuario ha detectado audibly la señal de espera de llamada, pero para la que el proveedor no puede realizar la detección. Esto proporciona al usuario un mecanismo para "responder" a una llamada en espera aunque el proveedor de servicios no pudo detectar la señal de espera de llamada. Los parámetros de puntero lpszDestAddress y lpszGroupID deben ser NULL para recoger una llamada en espera de llamada. La función linePickup crea un nuevo identificador de llamada para la llamada en espera y pasa ese identificador al usuario. El parámetro dwAddressID suele ser cero (especialmente en casos residenciales de una sola línea).

Después de usar linePickup para recoger la segunda llamada, lineSwapHold se puede usar para alternar entre ellas. La función lineDrop se puede usar para quitar uno (y alternar con el otro), etc. Si el usuario quiere quitar la llamada actual y recoger la segunda llamada, debe llamar a lineDrop cuando reciba el pitido de llamada en espera de llamada, espere a que se ane la segunda llamada y, a continuación, llame a lineAnswer en el nuevo identificador de llamada. La marca LINEADDRFEATURE_PICKUP del miembro dwAddressFeatures en LINEADDRESSSTATUS indica cuándo es posible la recogida.

Requisitos

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

Consulte también

LINEADDRESSSTATUS

LINECALLINFO

LINE_CALLSTATE

LINE_REPLY

Información general sobre la recogida

Funciones complementarias del servicio de línea

Introducción a la referencia de TAPI 2.2

lineAnswer

lineDrop

lineGetCallInfo

lineSwapHold