Поделиться через


Настраиваемые скрипты RAS

Разработчики могут создать библиотеку DLL с пользовательскими сценариями, которая находится на клиентском компьютере RAS. Эта библиотека DLL может взаимодействовать с сервером в процессе установки подключения.

Windows NT. Пользовательские скрипты недоступны.

Настройка библиотеки DLL

Чтобы настроить библиотеку DLL, создайте значение с именем CustomScriptDllPath в следующем разделе реестра:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters

Это значение должно иметь тип REG_EXPAND_SZ. Значение должно содержать путь к библиотеке DLL пользовательских сценариев. Для каждого клиентского компьютера RAS поддерживается только одна библиотека DLL с пользовательскими сценариями.

Взаимодействие между сервером, RAS и библиотекой DLL Custom-Scripting

Библиотека 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

Если пользовательское средство набора номера отображает пользовательский интерфейс, пользовательский интерфейс должен поддерживать WM_COMMAND сообщений, где ЗНАЧЕНИЕ LOWORD(wParam) равно IDCANCEL.

Настройка подключения

Точку входа RasCustomScriptExecute можно вызвать из RasDialDlg или в Windows XP из RasDial.

Чтобы вызвать RasCustomScriptExecute из RasDialDlg, задайте параметр RASEO_CustomScript в записи телефонной книги для подключения. Описание параметров записи телефонной книги см. в элементе DWFOptionsв RASENTRY . Используйте функции RasGetEntryProperties и RasSetEntryProperties , чтобы задать этот параметр программным способом.

Windows XP: Чтобы вызвать RasCustomScriptExecute из RasDial, вызов RasDial должен указать структуру RASDIALEXTENSIONS , а в этой структуре должен быть указан флаг RDEOPT_UseCustomScripting. Кроме того, в записи телефонной книги для подключения должен быть указан параметр RASEO_CustomScript, как описано в предыдущем абзаце.

Вызов библиотеки DLL пользовательских сценариев

Если пользователь активирует подключение для записи телефонной книги, для RASEO_CustomScript настроенной, RAS вызывает библиотеку DLL пользовательских сценариев. В этом сценарии RAS вызывает библиотеку DLL пользовательских сценариев из RasDialDlg.

Чтобы вызвать библиотеку DLL с пользовательскими скриптами программным способом, установите подключение с помощью функции RasDialDlg . В Windows XP функция RasDial также вызывает библиотеку DLL пользовательских сценариев.