Teilen über


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:

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.