Funzione lineParkA (tapi.h)

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

Sintassi

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

Parametri

hCall

Handle per 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 un nullstringa con terminazione che indica l'indirizzo in cui deve essere parcheggiata la chiamata quando si usa il parco diretto. L'indirizzo è in formato numero di composizione. 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 stringa ASCII contenente una stringa null-terminato) e l' di terminazione NULL deve essere tenuto in considerazione nel 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 restituire 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 possibili valori restituiti 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.

Osservazioni

Con il parco 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 quindi deallocare il relativo handle alla chiamata. Se l'applicazione esegue un lineUnpark sulla 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.

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

In un parco non diretto, se il membro dwTotalSize nella struttura VARSTRING non specifica una quantità di memoria sufficiente 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 del parco completo. Quando viene restituito un valore di errore LINEERR_STRUCTURETOOSMALL, il dwNeededSize membro della struttura NonDirAddress non contiene un valore valido. Se un valore di errore LINEERR_STRUCTURETOOSMALL viene ricevuto da un linePark non indirizzato, aumentare le dimensioni del buffer e chiamare di nuovo linePark fino a quando non restituisce l'esito positivo o un risultato LINEERR_XXX diverso.

Nota

L'intestazione tapi.h definisce linePark 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

LINE_REPLY

Park Overview

funzioni supplementari del servizio linea

panoramica dei riferimenti TAPI 2.2

VARSTRING

lineaUnpark