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:

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.