Udostępnij za pośrednictwem


Programy obsługi powiadomień

Asynchroniczne wywołanie RasDial musi określać procedurę obsługi powiadomień. Podczas operacji asynchronicznego połączenia Menedżer połączeń dostępu zdalnego używa programu obsługi powiadomień do informowania klienta RAS za każdym razem, gdy stanu połączenia zmiany lub wystąpi błąd.

Akcje wykonywane przez program obsługi powiadomień można podzielić na następujące kategorie:

Istnieją trzy typy procedur obsługi powiadomień, z których każdy otrzymuje te same podstawowe informacje: bieżący stan połączenia i kod błędu, który nie jestzerowy tylko wtedy, gdy wystąpił błąd.

Wartość Definicja
RasDialFunc Prototyp funkcji wywołania zwrotnego, który odbiera tylko bieżący stan połączenia i informacje o kodzie błędu.
RasDialFunc1 Prototyp funkcji wywołania zwrotnego, który otrzymuje HRASCONN dojście połączenia i rozszerzone informacje o błędzie oprócz podstawowych informacji. Parametr dojścia połączenia sprawia, że RasDialFunc1 przydatne w przypadku aplikacji klienckich obsługujących wiele równoczesnych operacji połączenia. Dzięki temu klient może określić tę samą funkcję wywołania zwrotnego dla wszystkich operacji i umożliwia funkcji wywołania zwrotnego określenie, które połączenie zmienia stany.
RasDialFunc2 Funkcja wywołania zwrotnego podobna do RasDialFunc1. Jednak RasDialFunc2 jest ulepszona w celu obsługi połączeń wielolinkowych.
Uchwyt okna Uchwyt okna, do którego RAS wysyła WM_RASDIALEVENT komunikatów zawierających bieżący stan połączenia i informacje o kodzie błędu. Użyj tej metody, jeśli kod źródłowy musi być zgodny z 16-bitowym systemem Windows, ponieważ 16-bitowy system Windows nie obsługuje żadnej z funkcji wywołania zwrotnego.

 

Menedżer połączeń dostępu zdalnego zawiesza operację połączenia do momentu powrotu programu obsługi powiadomień. Z tego powodu program obsługi powinien zostać zwrócony tak szybko, jak to możliwe, chyba że wystąpił błąd.

Funkcja RasDial nie powinna być wywoływana z poziomu programu obsługi powiadomień. Inne funkcje dostępu zdalnego ( RasGetConnectStatus, RasEnumEntries, RasEnumConnections, RasGetErrorStringi RasHangUp) mogą być wywoływane z poziomu procedury obsługi.