自定义拨号器

Windows 2000 及更高版本的操作系统使开发人员能够提供自己的自定义拨号器,这些拨号器可与远程访问服务 (RAS) 配合使用。 自定义拨号器作为单个动态链接库实现, (DLL) 导出以下入口点:

自定义拨号 DLL 必须导出所有这些入口点,并且必须将入口点实现为 Unicode 函数。 有关这些函数的详细信息,请参阅 Windows SDK 远程访问服务参考中每个函数的参考页。

为了使 RAS 连接使用自定义拨号程序,连接的电话簿条目必须包含自定义拨号 DLL 的路径。 使用 RAS API 函数 RasGetEntryPropertiesRasSetEntryProperties 在电话簿条目的 RASENTRY 结构的 szCustomDialDll 成员中设置此路径。

更新自定义拨号器的注册表

为了使系统能够拨号使用自定义拨号程序的连接,自定义拨号 DLL 的路径必须存在于以下注册表值中。

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters
                  CustomDLL<dl>
<dt>

                  Data type
</dt>
<dd>                  REG_MULTI_SZ</dd>
</dl>

由于 CustomDLL的类型REG_MULTI_SZ,因此它可以保存多个自定义拨号 DLL 的路径。 除了用于连接的电话簿条目外,还需要在此注册表值中设置自定义拨号 DLL 的路径。

默认情况下,此注册表值只能由具有管理员或系统权限的用户写入。 出于安全原因,请勿更改对此注册表项的权限。

在系统登录时使用自定义拨号器

Windows 2000 及更高版本的操作系统允许用户在登录时建立 RAS 连接。 为此,用户在“登录信息”对话框中检查“使用拨号网络登录”。 用户单击“确定”按钮后,系统将显示可用的连接。

安全注意事项

在大多数情况下,自定义拨号器使用调用它的用户的安全特权进行操作。 但是,如果在登录时调用自定义拨号程序,它将使用系统权限运行。 因此,请设计自定义拨号器,使其不能用于违反系统安全性。 例如,拨号器不应提供允许用户对计算机文件系统进行写入访问的用户界面。 提供此类访问的用户界面包括 “查找文件 ”对话框、 “文件打开 ”常用对话框和 Windows 帮助

自定义拨号程序用户界面必须支持 IDCANCEL

如果自定义拨号器显示用户界面,则用户界面必须支持 LOWORD (wParam) 等于 IDCANCEL 的WM_COMMAND消息。