Funzione linePark (tapi.h)

La funzione linePark parcheggia la chiamata specificata in base alla modalità parco specificata.

Sintassi

LONG linePark(
  HCALL       hCall,
  DWORD       dwParkMode,
  LPCSTR      lpszDirAddress,
  LPVARSTRING lpNonDirAddress
);

Parametri

hCall

Gestire la chiamata da parcheggiare. L'applicazione deve essere un proprietario della chiamata. Lo stato della chiamata di hCall deve essere connesso.

dwParkMode

Modalità parcheggio con cui la chiamata deve essere parcheggiata. Questo parametro può avere un solo set di flag e usa una delle costanti LINEPARKMODE_.

lpszDirAddress

Puntatore a una stringa con terminazione Null che indica l'indirizzo in cui deve essere parcheggiata la chiamata quando si usa il parco diretto. L'indirizzo è in formato numero componibile. Questo parametro viene ignorato per il parco non diretto.

lpNonDirAddress

Puntatore a una struttura di tipo VARSTRING. Per il parcheggio non diretto, l'indirizzo in cui viene parcheggiata la chiamata viene restituito in questa struttura. Questo parametro viene ignorato per il parco diretto. All'interno della struttura VARSTRING, dwStringFormat deve essere impostato su STRINGFORMAT_ASCII (un buffer di stringhe ASCII contenente una stringa con terminazione Null) e la terminazione NULL deve essere considerata in dwStringSize. Prima di chiamare linePark, l'applicazione deve impostare il membro dwTotalSize di questa struttura per indicare la quantità di memoria disponibile per TAPI per la restituzione di informazioni.

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_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALPARKMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Commenti

Con il parcheggio diretto, l'applicazione determina l'indirizzo in cui vuole parcheggiare la chiamata. Con il parcheggio non diretto, l'opzione determina l'indirizzo e lo fornisce all'applicazione. In entrambi i casi, una chiamata parcheggiata può essere scaricata specificando questo indirizzo.

La chiamata parcheggiata entra in genere nello stato di inattività dopo che è stata parcheggiata correttamente e l'applicazione deve deallocare il relativo handle alla chiamata. Se l'applicazione esegue una rigaUnpark nella chiamata parcheggiata, viene creato un nuovo handle di chiamata per la chiamata non parcheggiata anche se l'applicazione non ha deallocato l'handle di chiamata precedente.

Alcuni commutatori possono ricordare all'utente dopo che una chiamata è stata parcheggiata per un lungo periodo di tempo. L'applicazione vede una chiamata di offerta con un motivo di chiamata impostato su promemoria.

In un parcheggio non diretto, se il membro dwTotalSize nella struttura VARSTRING non specifica una quantità sufficiente di memoria per ricevere l'indirizzo del parco, il messaggio di risposta corrispondente restituisce un valore di errore LINEERR_STRUCTURETOOSMALL. In questi casi, non è possibile recuperare l'indirizzo completo del parco. Quando viene restituito un valore di errore LINEERR_STRUCTURETOOSMALL, il membro dwNeededSize della struttura NonDirAddress non contiene un valore valido. Se un valore di errore LINEERR_STRUCTURETOOSMALL viene ricevuto da un linePark non diretto, aumentare di nuovo le dimensioni del buffer e chiamare linePark finché non restituisce l'esito positivo o un LINEERR_XXX risultato diverso.

Requisiti

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

Vedi anche

LINE_REPLY

Panoramica del parco

Funzioni supplementari del servizio line

Panoramica dei riferimenti a TAPI 2.2

VARSTRING

lineUnpark