Compartir a través de


Controladores de notificaciones

Una llamada rasDial asincrónica debe especificar un controlador de notificaciones. Durante una operación de conexión asincrónica, el Administrador de conexiones de acceso remoto usa el controlador de notificaciones para informar al cliente RAS cada vez que cambia el estado de conexión o se produce un error.

Las acciones realizadas por un controlador de notificaciones se pueden dividir en las siguientes categorías:

Hay tres tipos de controladores de notificación, cada uno de los cuales recibe la misma información básica: el estado de conexión actual y un código de error que no es cero solo si se ha producido un error.

Value Definición
RasDialFunc Prototipo de función de devolución de llamada que recibe solo el estado de conexión actual y la información del código de error.
RasDialFunc1 Prototipo de función de devolución de llamada que recibe el identificador de conexión HRASCONN y la información de error extendida, además de la información básica. El parámetro de identificador de conexión hace que RasDialFunc1 sea útil para las aplicaciones cliente que admiten varias operaciones de conexión simultáneas. Esto permite al cliente especificar la misma función de devolución de llamada para todas las operaciones y permite que la función de devolución de llamada determine qué conexión cambia los estados.
RasDialFunc2 Una función de devolución de llamada similar a RasDialFunc1. Sin embargo, RasDialFunc2 se ha mejorado para admitir conexiones de varios vínculos.
Identificador de ventana Identificador de ventana al que RAS envía WM_RASDIALEVENT mensajes que contienen el estado de conexión actual y la información del código de error. Use este método si el código fuente debe ser compatible con Windows de 16 bits, ya que Windows de 16 bits no admite ninguna de las funciones de devolución de llamada.

 

El Administrador de conexiones de acceso remoto suspende la operación de conexión hasta que el controlador de notificaciones vuelva. Por este motivo, el controlador debe devolver lo antes posible a menos que se haya producido un error.

No se debe llamar a la función RasDial desde un controlador de notificaciones. Se puede llamar a las demás funciones de acceso remoto ( RasGetConnectStatus, RasEnumEntries, RasEnumConnections, RasGetErrorString y RasHangUp) desde un controlador.