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.