通知处理程序
异步 RasDial 调用必须指定通知处理程序。 在异步连接作期间,远程访问连接管理器使用通知处理程序在 连接状态 更改或发生错误时通知 RAS 客户端。
通知处理程序执行的作可以分为以下类别:
有三种类型的通知处理程序,每个处理程序都接收相同的基本信息:当前连接状态和错误代码,仅当发生错误时才为非零。
价值 | 定义 |
---|---|
RasDialFunc | 仅接收当前连接状态和错误代码信息的回调函数原型。 |
RasDialFunc1 | 一个回调函数原型,用于接收 HRASCONN 连接句柄和扩展的错误信息,以及基本信息。 连接句柄参数使 RasDialFunc1 对于支持多个同时连接作的客户端应用程序非常有用。 这允许客户端为所有作指定相同的回调函数,并使回调函数能够确定哪个连接正在更改状态。 |
RasDialFunc2 | 类似于 RasDialFunc1的回调函数。 但是,RasDialFunc2 已增强,以支持多链接连接。 |
窗口句柄 | RAS 向其发送 WM_RASDIALEVENT 包含当前连接状态和错误代码信息的窗口句柄。 如果源代码必须与 16 位 Windows 兼容,请使用此方法,因为 16 位 Windows 不支持任一回调函数。 |
远程访问连接管理器将挂起连接作,直到通知处理程序返回。 因此,除非发生错误,否则处理程序应尽快返回。
不应从通知处理程序中调用 RasDial 函数。 可以从处理程序中调用其他远程访问函数(RasGetConnectStatus、RasEnumEntries、RasEnumConnections、RasGetErrorString和 RasHangUp)。