Share via


funzione TUISPI_providerRemove (tspi.h)

La funzione TUISPI_providerRemove chiede all'utente di confermare l'eliminazione del provider di servizi. Questa funzione rende obsoleta la funzione TSPI_providerRemove nella versione 2.0 e successive (supportata nella versione 1.4 e precedenti).

È responsabilità del provider di servizi rimuovere tutte le voci del Registro di sistema aggiunte dal provider di servizi in fase di addProvider , nonché qualsiasi altro modulo e file che non sono più necessari.

L'implementazione è facoltativa.

Sintassi

LONG TSPIAPI TUISPI_providerRemove(
  TUISPIDLLCALLBACK lpfnUIDLLCallback,
  HWND              hwndOwner,
  DWORD             dwPermanentProviderID
);

Parametri

lpfnUIDLLCallback

Puntatore a una funzione che la DLL dell'interfaccia utente può chiamare per comunicare con la DLL del provider di servizi per ottenere le informazioni necessarie per visualizzare la finestra di dialogo.

hwndOwner

Handle della finestra padre in cui la funzione può creare qualsiasi finestra di dialogo richiesta durante la rimozione.

dwPermanentProviderID

Identificatore del provider di servizi permanente.

Valore restituito

Restituisce 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_OPERATIONFAILED, LINEERR_INIFILECORRUPT, LINEERR_NOMEM, LINEERR_INVALPARAM.

Commenti

Questa funzione deve garantire che le informazioni private definite dal provider di servizi vengano rimosse dal Registro di sistema in caso di esito positivo.

Questa procedura deve lasciare il sistema in uno stato coerente. Deve essere eseguita fino al completamento, non consentendo all'utente di interrompere la rimozione quando viene completata parzialmente. Se la rimozione non riesce, è responsabilità del provider "eseguire il backout" e restituire un errore. Ciò può implicare la pre-scansione per verificare che sia possibile una rimozione completa, prima dell'inizio della rimozione.

Questa funzione può essere chiamata mentre il provider di servizi è in uso, ovvero tra TSPI_providerInit e TSPI_providerShutdown. In questo caso, il provider di servizi deve eseguire una combinazione appropriata di visualizzazione di una finestra di dialogo dell'utente per annunciare eventuali conflitti e confermare la rimozione, limitare le opzioni di rimozione a quelle che possono essere eseguite in modo trasparente o inviare LINE_CLOSE e PHONE_CLOSE messaggi per informare TAPI e le applicazioni che i dispositivi interessati sono stati chiusi forzatamente per la rimozione. In ogni caso, tutte le modifiche che influiscono sul comportamento visibile tramite TSPI devono essere applicate solo quando il provider di servizi viene arrestato al successivo TSPI_providerShutdown.

Nota Questa funzione non deve restituire LINEERR_INUSE o altri errori che potrebbero verificarsi perché il provider è in uso da un'applicazione; Al contrario, il provider deve fornire all'utente direttamente il problema e quindi restituire LINEERR_OPERATIONFAILED se l'utente decide di interrompere l'operazione.
 
Questa procedura viene chiamata una sola volta, al momento della rimozione del provider di servizi, fino a quando non viene eseguita una chiamata a TUISPI_providerInstall.

La funzione corrispondente a livello TAPI è lineRemoveProvider. A questo livello, le applicazioni prevedono che i provider di servizi siano già installati; in caso contrario, le linee e i telefoni non vengono visualizzati all'interno della sequenza disponibile di identificatori di dispositivo. Il messaggio LINE_CREATE informa le applicazioni in esecuzione sulla riconfigurazione dinamica.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione tspi.h

Vedi anche

LINE_CLOSE

PHONE_CLOSE

PHONE_STATE

TSPI_providerInit

TSPI_providerShutdown

TUISPI_providerInstall