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
Información general sobre la recogida
Funciones complementarias del servicio de línea