Gestori di notifiche
Una chiamata RasDial asincrona deve specificare un gestore di notifica. Durante un'operazione di connessione asincrona, l'accesso remoto Gestione connessioni usa il gestore di notifica per informare il client RAS ogni volta che lo stato della connessione cambia o si verifica un errore.
Le azioni eseguite da un gestore di notifica possono essere suddivise nelle categorie seguenti:
- Gestione degli errori,
- Fornendo commenti e suggerimenti all'utente quando l'operazione di connessione procede attraverso i vari stati di connessione. Vedere Notifiche informativi.
- Gestione degli stati sospesi.
- Segnalazione dell'applicazione client RAS al termine dell'operazione di connessione. Vedere Notifiche di completamento.
Esistono tre tipi di gestori di notifica, ognuno dei quali riceve le stesse informazioni di base: lo stato di connessione corrente e un codice di errore diverso da zero solo se si è verificato un errore.
valore | Definizione |
---|---|
RasDialFunc | Prototipo di funzione di callback che riceve solo le informazioni sullo stato di connessione corrente e sul codice di errore. |
RasDialFunc1 | Prototipo di funzione di callback che riceve l'handle di connessione HRASCONN e le informazioni di errore estese oltre alle informazioni di base. Il parametro handle di connessione rende rasDialFunc1 utile per le applicazioni client che supportano più operazioni di connessione simultanee. Ciò consente al client di specificare la stessa funzione di callback per tutte le operazioni e consente alla funzione callback di determinare quali stati di connessione cambiano. |
RasDialFunc2 | Funzione di callback simile a RasDialFunc1. Tuttavia, RasDialFunc2 è migliorato per supportare connessioni multilink. |
Handle finestra | Handle della finestra a cui RAS invia WM_RASDIALEVENT messaggi contenenti le informazioni sullo stato di connessione corrente e sul codice di errore. Usare questo metodo se il codice sorgente deve essere compatibile con Windows a 16 bit, perché Windows a 16 bit non supporta alcuna delle funzioni di callback. |
L'accesso remoto Gestione connessioni sospende l'operazione di connessione fino a quando il gestore di notifica non restituisce. Per questo motivo, il gestore deve restituire il prima possibile, a meno che non si sia verificato un errore.
La funzione RasDial non deve essere chiamata dall'interno di un gestore di notifica. Le altre funzioni di accesso remoto ( RasGetConnectStatus, RasEnumEntries, RasEnumConnections, RasGetErrorString e RasHangUp) possono essere chiamate da un gestore.