RAS 自定义脚本

开发人员可以创建驻留在 RAS 客户端计算机上的自定义脚本 DLL。 此 DLL 可以在建立连接的过程中与服务器通信。

Windows NT:自定义脚本不可用。

设置 DLL

若要设置 DLL,请在以下注册表项下创建名为 CustomScriptDllPath 的值:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters

此值的类型应为 REG_EXPAND_SZ。 值应包含自定义脚本 DLL 的路径。 每台 RAS 客户端计算机仅支持一个自定义脚本 DLL。

服务器、RAS 和Custom-Scripting DLL 之间的交互

自定义脚本 DLL 应导出单个入口点: RasCustomScriptExecute。 RAS 在连接过程的RASCS_Interactive状态期间调用此函数。 RASCS_Interactive状态是暂停状态,允许用户与自定义脚本 DLL 提供的用户界面进行交互。 有关连接状态的详细信息,请参阅 RASCONNSTATE

RAS 将作为参数传递给 RasCustomScriptExecute 函数:

  • 客户端计算机上用于连接的端口的句柄。
  • 标识连接的电话簿和条目的字符串。
  • RAS 还会将句柄传递到窗口,使 DLL 能够显示用户界面。
  • DLL 可用于与服务器通信的一组函数指针。

有关这些参数的详细信息 ,请参阅 RasCustomScriptExecute

RAS 将指向 RASCUSTOMSCRIPTEXTENSIONS 结构的指针作为最后一个参数传递给 RasCustomScriptExecute。 此结构包含指向 类型为 PFNRASSETCOMMSETTINGS 的函数的指针。 自定义脚本 DLL 调用此函数以修改连接所使用的端口上的通信设置。

RAS 调解服务器与自定义脚本 DLL 之间的交互。 通常,服务器会启动对话。 例如,服务器可能会请求用户的用户名和密码。

使用自定义脚本建立连接时,服务器无需运行 Windows NT 4.0 或 Windows 2000。

自定义脚本用户界面必须支持 IDCANCEL

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

配置连接

RasCustomScriptExecute 入口点可以从 RasDialDlg 调用,也可以在 Windows XP 上从 RasDial 调用

若要从 RasDialDlg 调用 RasCustomScriptExecute,请在连接的电话簿条目中设置RASEO_CustomScript选项。 有关电话簿输入选项的说明,请参阅 RASENTRYdwfOptions 成员。 使用 RasGetEntryPropertiesRasSetEntryProperties 函数以编程方式设置此选项。

Windowsxp:若要从 RasDial 调用 RasCustomScriptExecute,对 RasDial 的调用必须指定 RASDIALEXTENSIONS 结构,并且此结构必须指定 RDEOPT_UseCustomScripting 标志。 此外,连接的电话簿条目必须指定RASEO_CustomScript选项,如上一段落中所述。

调用自定义脚本 DLL

如果用户为设置了RASEO_CustomScript的电话簿条目激活连接,RAS 将调用自定义脚本 DLL。 在此方案中,RAS 从 RasDialDlg 调用自定义脚本 DLL。

若要以编程方式调用自定义脚本 DLL,请使用 RasDialDlg 函数建立连接。 在 Windows XP 上, RasDial 函数还会调用自定义脚本 DLL。