Funzione lineGetRequestW (tapi.h)

La funzione lineGetRequest recupera la richiesta successiva tramite proxy per la modalità richiesta specificata.

Sintassi

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

Parametri

hLineApp

Handle di utilizzo dell'applicazione per la parte riga di TAPI.

dwRequestMode

Tipo di richiesta da ottenere. Tenere presente che dwRequestMode può avere un solo bit impostato. Questo parametro usa una sola costante LINEREQUESTMODE_.

lpRequestBuffer

Puntatore a un buffer di memoria in cui devono essere inseriti i parametri della richiesta. Le dimensioni del buffer e l'interpretazione dei dati inseriti nel buffer dipendono dalla modalità richiesta. Si presuppone che il buffer allocato dall'applicazione sia di dimensioni sufficienti per contenere la richiesta.

Se dwRequestMode è LINEREQUESTMODE_MAKECALL, interpretare il contenuto del buffer della richiesta usando la struttura LINEREQMAKECALL .

LINEREQUESTMODE_MEDIACALL è obsoleto. Per altre informazioni, vedere tapiRequestMediaCall.

Valore restituito

Restituisce zero se la richiesta ha esito positivo o negativo se si verifica un errore. I possibili valori restituiti sono:

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

Osservazioni

Un'applicazione abilitata per la telefonia può richiedere che una chiamata venga effettuata per suo conto richiamando tapiRequestMakeCall. Queste richieste vengono accodate da TAPI e dall'applicazione con priorità più alta che ha registrato per gestire la richiesta viene inviato un messaggio LINE_REQUEST con indicazione della modalità della richiesta in sospeso. In genere, questa applicazione è l'applicazione di controllo delle chiamate dell'utente. Il messaggio LINE_REQUEST indica che zero o più richieste potrebbero essere in sospeso per l'elaborazione dell'applicazione registrata; dopo aver ricevuto LINE_REQUEST, è responsabilità dell'applicazione del destinatario chiamare lineGetRequest fino a quando non viene restituito LINEERR_NOREQUEST, a indicare che non sono più richieste in sospeso.

Successivamente, l'applicazione call-control che riceve questo messaggio richiama lineGetRequest, specificando la modalità richiesta e un buffer sufficientemente grande da contenere la richiesta. L'applicazione call-control interpreta ed esegue la richiesta.

Dopo l'esecuzione di lineGetRequest, TAPI elimina la richiesta dalla coda interna, rendendo disponibile spazio per una richiesta successiva. È quindi possibile che un nuovo messaggio di LINE_REQUEST venga ricevuto immediatamente dopo l'esecuzione di lineGetRequest, deve essere lo stesso o un'altra richiesta da parte di un'altra applicazione. È responsabilità dell'applicazione del destinatario della richiesta gestire questo scenario da un meccanismo; Ad esempio, notando il LINE_REQUEST aggiuntivo e rinviando un successivo lineGetRequest fino al completamento dell'elaborazione della richiesta precedente, ottenendo la richiesta e il buffer successivi in base alle esigenze o con un altro mezzo appropriato.

Il LINE_REQUEST successivo non deve essere ignorato perché non viene ripetuto da TAPI.

Nota

L'intestazione tapi.h definisce lineGetRequest come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
intestazione tapi.h
libreria Tapi32.lib
dll Tapi32.dll

Vedere anche

di riferimento dei servizi di telefonia di base

LINEREQMAKECALL

LINE_REQUEST

panoramica dei riferimenti TAPI 2.2

tapiRequestMakeCall