Share via


Script personalizado ras

Os desenvolvedores podem criar uma DLL de script personalizado que reside em um computador cliente RAS. Essa DLL pode se comunicar com o servidor durante o processo de estabelecimento de uma conexão.

Windows NT: o script personalizado não está disponível.

Configurando a DLL

Para configurar a DLL, crie um valor com o nome CustomScriptDllPath na seguinte chave do Registro:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters

Esse valor deve ser do tipo REG_EXPAND_SZ. O valor deve conter o caminho para a DLL de script personalizado. Há suporte apenas para uma DLL de script personalizado para cada computador cliente RAS.

Interação entre o servidor, o RAS e a DLL do Custom-Scripting

A DLL de script personalizado deve exportar um único ponto de entrada: RasCustomScriptExecute. O RAS chama essa função durante o estado RASCS_Interactive do processo de conexão. O estado RASCS_Interactive é um estado pausado, que permite que o usuário interaja com uma interface do usuário apresentada pela DLL de script personalizado. Consulte RASCONNSTATE para obter mais informações sobre estados de conexão.

O RAS passará como parâmetros para a função RasCustomScriptExecute :

  • Um identificador para a porta no computador cliente que está sendo usado para a conexão.
  • Cadeias de caracteres que identificam a lista telefônica e a entrada para a conexão.
  • O RAS também passa um identificador para uma janela para permitir que a DLL apresente uma interface do usuário.
  • Um conjunto de ponteiros de função que a DLL pode usar para se comunicar com o servidor.

Consulte RasCustomScriptExecute para obter mais informações sobre esses parâmetros.

RAS passa um ponteiro para uma estrutura RASCUSTOMSCRIPTEXTENSIONS como o último parâmetro para RasCustomScriptExecute. Essa estrutura contém um ponteiro para uma função do tipo PFNRASSETCOMMSETTINGS. A DLL de script personalizado chama essa função para modificar as configurações de comunicação na porta que está sendo usada pela conexão.

O RAS media a interação entre o servidor e a DLL de script personalizado. Normalmente, o servidor inicia a caixa de diálogo. Por exemplo, o servidor pode solicitar o nome de usuário e a senha do usuário.

Ao usar o script personalizado para estabelecer uma conexão, o servidor não precisa estar executando Windows NT 4.0 ou Windows 2000.

A interface do usuário de script personalizado deve dar suporte a IDCANCEL

Se o discador personalizado exibir uma interface do usuário, a interface do usuário deverá dar suporte a mensagens WM_COMMAND em que LOWORD(wParam) é igual a IDCANCEL.

Configurando a conexão

O ponto de entrada RasCustomScriptExecute pode ser invocado de RasDialDlg ou, no Windows XP, de RasDial.

Para invocar RasCustomScriptExecute de RasDialDlg, defina a opção RASEO_CustomScript na entrada do catálogo telefônico para a conexão. Consulte o membro dwfOptions de RASENTRY para obter uma descrição das opções de entrada do catálogo telefônico. Use as funções RasGetEntryProperties e RasSetEntryProperties para definir essa opção programaticamente.

Windows XP: Para invocar RasCustomScriptExecute de RasDial, a chamada para RasDial deve especificar uma estrutura RASDIALEXTENSIONS e essa estrutura deve especificar o sinalizador RDEOPT_UseCustomScripting. Além disso, a entrada do catálogo telefônico para a conexão deve especificar a opção RASEO_CustomScript conforme descrito no parágrafo anterior.

Invocando a DLL de Script Personalizado

Se o usuário ativar uma conexão para uma entrada de catálogo telefônico que tenha RASEO_CustomScript definida, RAS invocará a DLL de script personalizado. Nesse cenário, o RAS invoca a DLL de script personalizado de RasDialDlg.

Para invocar a DLL de script personalizado programaticamente, estabeleça a conexão usando a função RasDialDlg . No Windows XP, a função RasDial também invoca a DLL de script personalizado.