Función lineGetRequest (tapi.h)

La función lineGetRequest recupera la siguiente solicitud by-proxy para el modo de solicitud especificado.

Sintaxis

LONG lineGetRequest(
  HLINEAPP hLineApp,
  DWORD    dwRequestMode,
  LPVOID   lpRequestBuffer
);

Parámetros

hLineApp

Identificador de uso de la aplicación para la parte de línea de TAPI.

dwRequestMode

Tipo de solicitud que se va a obtener. Tenga en cuenta que dwRequestMode solo puede tener un conjunto de bits. Este parámetro usa una y solo una de las constantes de LINEREQUESTMODE_.

lpRequestBuffer

Puntero a un búfer de memoria donde se colocarán los parámetros de la solicitud. El tamaño del búfer y la interpretación de los datos colocados en el búfer depende del modo de solicitud. Se supone que el búfer asignado a la aplicación tiene un tamaño suficiente para contener la solicitud.

Si dwRequestMode es LINEREQUESTMODE_MAKECALL, interprete el contenido del búfer de solicitud mediante la estructura LINEREQMAKECALL .

LINEREQUESTMODE_MEDIACALL está obsoleto. Para obtener más información, vea tapiRequestMediaCall.

Valor devuelto

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

LINEERR_INVALAPPHANDLE, LINEERR_NOTREGISTERED, LINEERR_INVALPOINTER, LINEERR_OPERATIONFAILED, LINEERR_INVALREQUESTMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED, LINEERR_NOREQUEST.

Comentarios

Una aplicación habilitada para telefonía puede solicitar que se realice una llamada en su nombre invocando tapiRequestMakeCall. TapI pone en cola estas solicitudes y la aplicación de prioridad más alta que se ha registrado para controlar la solicitud se envía un mensaje LINE_REQUEST con indicación del modo de la solicitud que está pendiente. Normalmente, esta aplicación es la aplicación de control de llamadas del usuario. El mensaje LINE_REQUEST indica que cero o más solicitudes pueden estar pendientes para que la aplicación registrada procese; después de recibir LINE_REQUEST, es responsabilidad de la aplicación del destinatario llamar a lineGetRequest hasta que se devuelva LINEERR_NOREQUEST, lo que indica que no hay más solicitudes pendientes.

A continuación, la aplicación de control de llamadas que recibe este mensaje invoca lineGetRequest, especificando el modo de solicitud y un búfer lo suficientemente grande como para contener la solicitud. A continuación, la aplicación de control de llamadas interpreta y ejecuta la solicitud.

Después de la ejecución de lineGetRequest, TAPI purga la solicitud de su cola interna, lo que hace que el espacio esté disponible para una solicitud posterior. Por lo tanto, es posible recibir un nuevo mensaje de LINE_REQUEST inmediatamente después de la ejecución de lineGetRequest, en caso de que la misma u otra aplicación emita otra solicitud. Es responsabilidad de la aplicación del destinatario de la solicitud controlar este escenario mediante algún mecanismo; por ejemplo, tomando nota del LINE_REQUEST adicional y aplazando una líneaGetRequest posterior hasta que se complete el procesamiento de la solicitud anterior, obteniendo la solicitud y el búfer posteriores según sea necesario, o por otro medio adecuado.

El LINE_REQUEST posterior no debe omitirse porque TAPI no lo repite.

Requisitos

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

Consulte también

Referencia de servicios de telefonía básica

LINEREQMAKECALL

LINE_REQUEST

Introducción a la referencia de TAPI 2.2

tapiRequestMakeCall