Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione TSPI_linePickup seleziona un avviso di chiamata all'indirizzo di destinazione specificato e restituisce un handle di chiamata per la chiamata selezionata. Se richiamato con NULL per il parametro lpszDestAddress , viene eseguito un ritiro del gruppo. Se richiesto dalle funzionalità del dispositivo, lpszGroupID specifica l'identificatore di gruppo a cui appartiene la stazione di avviso.
Sintassi
LONG TSPIAPI TSPI_linePickup(
DRV_REQUESTID dwRequestID,
HDRVLINE hdLine,
DWORD dwAddressID,
HTAPICALL htCall,
LPHDRVCALL lphdCall,
LPCWSTR lpszDestAddress,
LPCWSTR lpszGroupID
);
Parametri
dwRequestID
Identificatore della richiesta asincrona.
hdLine
Handle alla riga in cui deve essere selezionata una chiamata.
dwAddressID
Indirizzo in hdLine in cui deve essere originato il ritiro. Un identificatore di indirizzo è associato definitivamente a un indirizzo; l'identificatore rimane costante tra gli aggiornamenti del sistema operativo.
htCall
Handle TAPI alla nuova chiamata. Il provider di servizi deve salvarlo e usarlo in tutte le chiamate successive agli eventi di segnalazione delle procedure LINEEVENT nella chiamata.
lphdCall
Puntatore a un HDRVCALL che rappresenta l'identificatore del provider di servizi per la chiamata. Il provider di servizi deve riempire questa posizione con il relativo handle per la chiamata prima che questa procedura venga restituita. Questo handle viene ignorato da TAPI se la funzione genera un errore.
lpszDestAddress
Puntatore a una stringa Unicode con terminazione null contenente l'indirizzo la cui chiamata deve essere selezionata. L'indirizzo è formato di collegamento standard.
lpszGroupID
Puntatore a una stringa Unicode con terminazione null contenente l'identificatore di gruppo a cui appartiene la stazione di avviso. Questo parametro è necessario per alcuni commutatori per raccogliere chiamate all'esterno del gruppo di ritiro corrente.
Valore restituito
Restituisce dwRequestID o un numero di errore se si verifica un errore. Il parametro effettivo lResult del ASYNC_COMPLETION corrispondente è zero se la funzione ha esito positivo o un numero di errore se si verifica un errore. I valori restituiti possibili sono i seguenti:
LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESS, LINEERR_OPERATIONFAILED, LINEERR_INVALGROUPID, LINEERR_RESOURCEUNAVAIL.
Commenti
Quando una chiamata è stata selezionata correttamente, il provider di servizi invia una notifica a TAPI con il messaggio LINE_CALLSTATE sulle modifiche dello stato della chiamata. La struttura LINECALLINFO fornisce informazioni sulla chiamata selezionata. Elenca il motivo della chiamata come ritiro. Questa struttura è disponibile chiamando TSPI_lineGetCallInfo.
Il provider di servizi imposta LINEADDRCAPFLAGS_PICKUPCALLWAIT su TRUE nella struttura LINEADDRESSCAPS se TSPI_linePickup può essere usato per raccogliere una chiamata per cui l'utente ha rilevato il segnale di attesa della chiamata, ma per il quale il provider non è in grado di eseguire il rilevamento. Ciò consente all'utente di rispondere a una chiamata in attesa anche se il provider di servizi non è riuscito a rilevare il segnale di attesa delle chiamate. Quando TSPI_linePickup viene usato per raccogliere una chiamata in attesa di chiamata, i parametri del puntatore lpszDestAddress e lpszGroupID sono NULL. Il provider di servizi crea un nuovo handle di chiamata per la chiamata in attesa e passa tale handle all'utente in lphdCall. Il parametro dwAddressID è più spesso zero (in particolare nei casi residenziali a riga singola).
Dopo aver usato TSPI_linePickup per raccogliere la seconda chiamata, è possibile utilizzare TSPI_lineSwapHold per attivare l'interruttore tra di essi. TSPI_lineDrop può essere usato per eliminare uno (e attivare l'interruttore all'altro) e così via. Se l'utente vuole eliminare la chiamata corrente e selezionare la seconda chiamata, chiamano TSPI_lineDrop quando ricevono il segnale di attesa della chiamata, attendere l'anello della seconda chiamata e quindi chiamare TSPI_lineAnswer nel nuovo handle di chiamata. Il provider di servizi imposta il flag di LINEADDRFEATURE_PICKUP nel membro dwAddressFeatures in LINEADDRESSSTATUS per indicare quando il ritiro è effettivamente possibile.
Questa funzione differisce dalla funzione TAPI corrispondente in cui segue il modello TSPI per iniziare la durata di una chiamata. TAPI e gli handle opachi del provider di servizi che rappresentano la chiamata tra loro. Inoltre, il provider di servizi è autorizzato a eseguire callback per la nuova chiamata prima di restituire da questa procedura. In qualsiasi caso, il provider di servizi deve anche considerare l'handle restituito come "non ancora valido" fino a quando la corrispondenza ASYNC_COMPLETION messaggio segnala l'esito positivo. In altre parole, non deve inviare messaggi LINEEVENT per la nuova chiamata o includerlo nei conteggi delle chiamate in messaggi o strutture di dati di stato per la riga.
Requisiti
| Requisito | Valore |
|---|---|
| Piattaforma di destinazione | Windows |
| Intestazione | tspi.h |