Condividi tramite


Funzione lineDeallocateCall (tapi.h)

La funzione lineDeallocateCall dealloca l'handle di chiamata specificato.

Sintassi

LONG lineDeallocateCall(
  HCALL hCall
);

Parametri

hCall

Handle di chiamata da deallocare. Un'applicazione con privilegi di monitoraggio per una chiamata può sempre deallocare il relativo handle per tale chiamata. Un'applicazione con privilegi di proprietario per una chiamata può deallocare il relativo handle a meno che non sia l'unico proprietario della chiamata e la chiamata non si trova nello stato di inattività . L'handle di chiamata non è più valido dopo la deallocazione.

Valore restituito

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

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Commenti

La deallocazione non influisce sullo stato della chiamata fisica. Tuttavia, rilascia le risorse interne correlate alla chiamata.

Nelle versioni api precedenti alla 2.0, se l'applicazione è l'unico proprietario di una chiamata e la chiamata non è inattiva, viene restituito LINEERR_INVALCALLSTATE. In questo caso, l'applicazione può prima eliminare la chiamata usando lineDrop e deallocare il relativo handle di chiamata in seguito. Un'applicazione con privilegi di monitoraggio per una chiamata può sempre deallocare il relativo handle per la chiamata.

Nelle versioni 2.0 o successive dell'API l'unico proprietario della chiamata può deallocare il relativo handle anche se la chiamata non è nello stato di inattività . In questo modo viene abilitato il controllo distribuito della chiamata in un ambiente client/server.

Nota Lasciare la chiamata senza un proprietario può causare l'impossibilità dell'utente di terminare la chiamata se sono aperte applicazioni di monitoraggio che impediscono a TAPI di chiamare TSPI_lineCloseCall. Usare questa funzionalità solo se l'applicazione può determinare che la chiamata può essere controllata esternamente dall'utente. Per altre informazioni, vedere LINEADDRCAPFLAGS_CLOSEDROP.
 
Nelle versioni dell'API precedenti alla 2.0, quando la funzione lineDeallocateCall dealloca un handle di chiamata, sospende anche l'ulteriore elaborazione di eventuali messaggi LINE_REPLY in sospeso per la chiamata. Un'applicazione deve essere progettata per non attendere a tempo indeterminato per LINE_REPLY messaggi per ogni chiamata corrispondente a una funzione asincrona se usa anche la funzione lineDeallocateCall per deallocare handle.

Nelle versioni 2.0 o successive dell'API lineDeallocateCall non sospende i messaggi LINE_REPLY in sospeso; ogni funzione asincrona che restituisce un dwRequestID all'applicazione restituisce sempre il recapito del messaggio LINE_REPLY associato, a meno che l'applicazione non chiami lineShutdown.

Requisiti

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

Vedi anche

Informazioni di riferimento sui servizi di telefonia di base

LINE_REPLY

Panoramica dei riferimenti a TAPI 2.2

Panoramica dell'interruzione di una sessione

lineDrop

lineShutdown