Condividi tramite


funzione linePickup (tapi.h)

La funzione 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 dal dispositivo, lpszGroupID specifica l'identificatore di gruppo a cui appartiene la stazione di avviso.

Sintassi

LONG linePickup(
  HLINE   hLine,
  DWORD   dwAddressID,
  LPHCALL lphCall,
  LPCSTR  lpszDestAddress,
  LPCSTR  lpszGroupID
);

Parametri

hLine

Gestire il dispositivo della riga aperta in cui deve essere selezionata una chiamata.

dwAddressID

Indirizzo su hLine in corrispondenza del quale deve essere originato il ritiro. Un identificatore di indirizzo è associato definitivamente a un indirizzo; l'identificatore rimane costante tra gli aggiornamenti del sistema operativo.

lphCall

Puntatore a una posizione di memoria in cui viene restituito l'handle alla chiamata selezionata. L'applicazione è il proprietario iniziale della chiamata.

lpszDestAddress

Puntatore a un buffer di caratteri con terminazione null contenente l'indirizzo la cui chiamata deve essere selezionata. L'indirizzo è in formato indirizzo chiamabile standard.

lpszGroupID

Puntatore a un buffer di caratteri 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.

Il parametro lpszGroupID può essere specificato da se stesso con un puntatore NULL per lpszDestAddress. In alternativa, è possibile specificare lpszGroupID oltre a lpszDestAddress, se necessario dal dispositivo.

Valore restituito

Restituisce un identificatore di richiesta positivo se la funzione viene completata in modo asincrono o un numero di errore negativo se si verifica un errore. Il parametro dwParam2 del messaggio di LINE_REPLY corrispondente è zero se la funzione ha esito positivo o è un numero di errore negativo se si verifica un errore. I valori restituiti possibili sono:

LINEERR_INVALADDRESS, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALGROUPID, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED.

Commenti

Quando una chiamata è stata selezionata correttamente, l'applicazione viene notificata dal messaggio di 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 usando lineGetCallInfo.

Se LINEADDRCAPFLAGS_PICKUPCALLWAIT è TRUE, 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. In questo modo l'utente ha un meccanismo per "rispondere" a una chiamata in attesa anche se il provider di servizi non è riuscito a rilevare il segnale di attesa della chiamata. Entrambi i parametri di puntatore lpszDestAddress e lpszGroupID devono essere NULL per raccogliere una chiamata in attesa di chiamata. La funzione linePickup crea un nuovo handle di chiamata per la chiamata in attesa e passa tale handle all'utente. Il parametro dwAddressID è più spesso zero (in particolare nei casi residenziali a riga singola).

Dopo aver usato linePickup per raccogliere la seconda chiamata, lineSwapHold può essere usato per attivare l'interruttore tra di essi. La funzione lineDrop può essere usata per eliminare una (e disattivare l'altra) e così via. Se l'utente vuole eliminare la chiamata corrente e selezionare la seconda chiamata, deve chiamare lineDrop quando ottiene il segnale di attesa della chiamata, attendere che la seconda chiamata venga chiamato e quindi chiamare lineAnswer sul nuovo handle di chiamata. Il flag LINEADDRFEATURE_PICKUP nel membro dwAddressFeatures in LINEADDRESSSTATUS indica quando il ritiro è effettivamente possibile.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tapi.h
Libreria Tapi32.lib
DLL Tapi32.dll

Vedi anche

LINEADDRESSSTATUS

LINECALLINFO

LINE_CALLSTATE

LINE_REPLY

Panoramica del ritiro

Funzioni di servizio linea supplementari

Panoramica di riferimento su TAPI 2.2

lineAnswer

lineDrop

lineGetCallInfo

lineSwapHold