Benachrichtigungshandler
Ein asynchroner RasDial- Aufruf muss einen Benachrichtigungshandler angeben. Während eines asynchronen Verbindungsvorgangs verwendet der Remotezugriffsverbindungs-Manager den Benachrichtigungshandler, um den RAS-Client zu informieren, wenn der Verbindungsstatus änderungen oder ein Fehler auftritt.
Die von einem Benachrichtigungshandler ausgeführten Aktionen können in die folgenden Kategorien unterteilt werden:
- Behandeln von Fehlern.
- Bereitstellen von Feedback für den Benutzer, wenn der Verbindungsvorgang durch die verschiedenen Verbindungszustände fortgesetzt wird. Siehe Informationsbenachrichtigungen.
- Behandeln von angehaltenen Zuständen.
- Signalisieren der RAS-Clientanwendung, wenn der Verbindungsvorgang abgeschlossen wurde. Siehe Abschlussbenachrichtigungen.
Es gibt drei Arten von Benachrichtigungshandlern, von denen jede die gleichen grundlegenden Informationen empfängt: der aktuelle Verbindungsstatus und ein Fehlercode, der nicht 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 den HRASCONN Verbindungshandle und erweiterte Fehlerinformationen empfängt. Der Verbindungshandle-Parameter macht RasDialFunc1 nützlich für Clientanwendungen, die mehrere gleichzeitige Verbindungsvorgänge unterstützen. Auf diese Weise kann der Client die gleiche Rückruffunktion für alle Vorgänge angeben und ermöglicht der Rückruffunktion, zu bestimmen, welche Verbindung sich ändert. |
RasDialFunc2 | Eine Rückruffunktion ähnlich RasDialFunc1. RasDialFunc2 wird jedoch verbessert, um Verbindungen mit mehreren Verbindungen zu unterstützen. |
Fensterziehpunkt | Ein Fensterhandle, mit dem RAS WM_RASDIALEVENT Nachrichten sendet, die den aktuellen Verbindungsstatus und Fehlercodeinformationen enthalten. Verwenden Sie diese Methode, wenn Der Quellcode mit 16-Bit-Windows kompatibel sein muss, da 16-Bit-Windows keine der Rückruffunktionen unterstützt. |
Der Remotezugriffsverbindungs-Manager hält den Verbindungsvorgang an, bis der Benachrichtigungshandler zurückgegeben wird. Aus diesem Grund sollte der Handler so schnell wie möglich zurückgegeben werden, es sei denn, ein Fehler ist 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.