Benachrichtigungshandler
Ein asynchroner RasDial-Aufruf muss einen Benachrichtigungshandler angeben. Während eines asynchronen Verbindungsvorgang verwendet die Remotezugriffs-Verbindungs-Manager den Benachrichtigungshandler, um den RAS-Client zu informieren, wenn sich der Verbindungsstatus ändert oder ein Fehler auftritt.
Die von einem Benachrichtigungshandler ausgeführten Aktionen können in die folgenden Kategorien unterteilt werden:
- Behandeln von Fehlern.
- Senden von Feedback an den Benutzer, während der Verbindungsvorgang die verschiedenen Verbindungszustände durchläuft. Weitere Informationen finden Sie unter Informationsbenachrichtigungen.
- Behandeln angehaltener Zustände.
- Signalisieren der RAS-Clientanwendung, wenn der Verbindungsvorgang abgeschlossen wurde. Weitere Informationen finden Sie unter Vervollständigungsbenachrichtigungen.
Es gibt drei Arten von Benachrichtigungshandlern, von denen jeder die gleichen grundlegenden Informationen empfängt: den aktuellen Verbindungsstatus und einen Fehlercode, der nur dann ungleich 0 (null) ist, wenn ein Fehler aufgetreten ist.
| Wert | Definition |
|---|---|
| RasDialFunc | Ein Rückruffunktionsprototyp, der nur den aktuellen Verbindungsstatus und Fehlercodeinformationen empfängt. |
| RasDialFunc1 | Ein Rückruffunktionsprototyp, der zusätzlich zu den grundlegenden Informationen das HR MRTNN-Verbindungshand handle und erweiterte Fehlerinformationen empfängt. Der Verbindungshandleparameter macht RasDialFunc1 für Clientanwendungen nützlich, die mehrere gleichzeitige Verbindungsvorgänge unterstützen. Dadurch kann der Client dieselbe Rückruffunktion für alle Vorgänge angeben, und die Rückruffunktion kann bestimmen, welche Verbindung den Status ändert. |
| RasDialFunc2 | Eine Rückruffunktion, die RasDialFunc1 ähnelt. RasDialFunc2 wurde jedoch erweitert, um Multilinkverbindungen zu unterstützen. |
| Fensterhand handle | Ein Fensterhandle, an das RAS WM _ RASDIALEVENT-Meldungen sendet, die den aktuellen Verbindungsstatus und Fehlercodeinformationen enthalten. Verwenden Sie diese Methode, wenn Ihr Quellcode mit 16-Bit-Windows kompatibel sein muss, da 16-Bit-Windows keine der Rückruffunktionen unterstützt. |
Der Remotezugriffsserver Verbindungs-Manager den Verbindungsvorgang an, bis der Benachrichtigungshandler zurückgegeben wird. Aus diesem Grund sollte der Handler so bald wie möglich zurückgeben, es sei denn, es ist ein Fehler aufgetreten.
Die RasDial-Funktion sollte nicht innerhalb eines Benachrichtigungshandlers aufgerufen werden. Die anderen Remotezugriffsfunktionen ( RasGetConnectStatus, RasEnumEntries, RasEnumConnections, RasGetErrorStringund RasHangUp) können innerhalb eines Handlers aufgerufen werden.