Função lineGetRequest (tapi.h)
A função lineGetRequest recupera a próxima solicitação por proxy para o modo de solicitação especificado.
Sintaxe
LONG lineGetRequest(
HLINEAPP hLineApp,
DWORD dwRequestMode,
LPVOID lpRequestBuffer
);
Parâmetros
hLineApp
O identificador de uso do aplicativo para a parte de linha do TAPI.
dwRequestMode
Um tipo de solicitação a ser obtida. Lembre-se de que dwRequestMode só pode ter um bit definido. Esse parâmetro usa uma e apenas uma das constantes LINEREQUESTMODE_.
lpRequestBuffer
Um ponteiro para um buffer de memória em que os parâmetros da solicitação devem ser colocados. O tamanho do buffer e a interpretação dos dados colocados no buffer dependem do modo de solicitação. O buffer alocado pelo aplicativo é considerado de tamanho suficiente para manter a solicitação.
Se dwRequestMode for LINEREQUESTMODE_MAKECALL, interprete o conteúdo do buffer de solicitação usando a estrutura LINEREQMAKECALL .
LINEREQUESTMODE_MEDIACALL está obsoleto. Para obter mais informações, consulte tapiRequestMediaCall.
Retornar valor
Retornará zero se a solicitação for bem-sucedida ou um número de erro negativo se ocorrer um erro. Os valores retornados possíveis são:
LINEERR_INVALAPPHANDLE, LINEERR_NOTREGISTERED, LINEERR_INVALPOINTER, LINEERR_OPERATIONFAILED, LINEERR_INVALREQUESTMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZEDLINEERR_NOREQUEST.
Comentários
Um aplicativo habilitado para telefonia pode solicitar que uma chamada seja feita em seu nome invocando tapiRequestMakeCall. Essas solicitações são enfileiradas pelo TAPI e o aplicativo de prioridade mais alta que se registrou para lidar com a solicitação recebe uma mensagem LINE_REQUEST com indicação do modo da solicitação pendente. Normalmente, esse aplicativo é o aplicativo de controle de chamada do usuário. A mensagem LINE_REQUEST indica que zero ou mais solicitações podem estar pendentes para o aplicativo registrado processar; depois de receber LINE_REQUEST, é responsabilidade do aplicativo destinatário chamar lineGetRequest até que LINEERR_NOREQUEST seja retornado, indicando que não há mais solicitações pendentes.
Em seguida, o aplicativo de controle de chamada que recebe essa mensagem invoca lineGetRequest, especificando o modo de solicitação e um buffer grande o suficiente para manter a solicitação. Em seguida, o aplicativo de controle de chamada interpreta e executa a solicitação.
Após a execução de lineGetRequest, o TAPI limpa a solicitação de sua fila interna, disponibilizando espaço para uma solicitação subsequente. Portanto, é possível que uma nova mensagem LINE_REQUEST seja recebida imediatamente após a execução de lineGetRequest, caso o mesmo ou outro aplicativo emita outra solicitação. É responsabilidade do aplicativo destinatário da solicitação lidar com esse cenário por algum mecanismo; por exemplo, observando o LINE_REQUEST adicional e adiando uma lineGetRequest subsequente até que o processamento da solicitação anterior seja concluído, obtendo a solicitação e o buffer subsequentes conforme necessário ou por outro meio apropriado.
Os LINE_REQUEST subsequentes não devem ser ignorados porque não são repetidos pelo TAPI.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | tapi.h |
Biblioteca | Tapi32.lib |
DLL | Tapi32.dll |
Confira também
Referência básica dos Serviços de Telefonia