Función lineGetRequestW (tapi.h)

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

Sintaxis

LONG lineGetRequestW(
  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 bit establecido. Este parámetro usa una y solo una de las constantes LINEREQUESTMODE_.

lpRequestBuffer

Puntero a un búfer de memoria donde se van a colocar 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 solicitudes 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.

Observaciones

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 de 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, si la misma u otra aplicación emite otra solicitud. Es responsabilidad de la aplicación del destinatario de la solicitud controlar este escenario mediante algún mecanismo; por ejemplo, al señalar el LINE_REQUEST adicional y aplazar una lineGetRequest 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.

Nota

El encabezado tapi.h define lineGetRequest como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de tapi.h
biblioteca de Tapi32.lib
DLL de Tapi32.dll

Consulte también

referencia de servicios de telefonía básica de

LINEREQMAKECALL

LINE_REQUEST

de información general de referencia de TAPI 2.2

tapiRequestMakeCall