Partager via


Script personnalisé RAS

Les développeurs peuvent créer une DLL de script personnalisé qui réside sur un ordinateur client RAS. Cette DLL peut communiquer avec le serveur pendant le processus d’établissement d’une connexion.

Windows NT : Le script personnalisé n’est pas disponible.

Configuration de la DLL

Pour configurer la DLL, créez une valeur nommée CustomScriptDllPath sous la clé de Registre suivante :

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters

Cette valeur doit être de type REG_EXPAND_SZ. La valeur doit contenir le chemin d’accès à la DLL de script personnalisé. Une seule DLL de script personnalisé est prise en charge pour chaque ordinateur client RAS.

Interaction entre le serveur, le RAS et la DLL Custom-Scripting

La DLL de script personnalisé doit exporter un seul point d’entrée : RasCustomScriptExecute. RAS appelle cette fonction pendant l’état RASCS_Interactive du processus de connexion. L’état RASCS_Interactive est un état suspendu, qui permet à l’utilisateur d’interagir avec une interface utilisateur présentée par la DLL de script personnalisé. Pour plus d’informations sur les états de connexion, consultez RASCONNSTATE .

RAS passe en tant que paramètres à la fonction RasCustomScriptExecute :

  • Handle du port sur l’ordinateur client utilisé pour la connexion.
  • Chaînes qui identifient l’annuaire téléphonique et l’entrée pour la connexion.
  • RAS transmet également un handle à une fenêtre pour permettre à la DLL de présenter une interface utilisateur.
  • Ensemble de pointeurs de fonction que la DLL peut utiliser pour communiquer avec le serveur.

Pour plus d’informations sur ces paramètres, consultez RasCustomScriptExecute .

RAS transmet un pointeur vers une structure RASCUSTOMSCRIPTEXTENSIONS comme dernier paramètre vers RasCustomScriptExecute. Cette structure contient un pointeur vers une fonction de type PFNRASSETCOMMSETTINGS. La DLL de script personnalisé appelle cette fonction pour modifier les paramètres de communication sur le port utilisé par la connexion.

RAS médite l’interaction entre le serveur et la DLL de script personnalisé. En règle générale, le serveur lance la boîte de dialogue. Par exemple, le serveur peut demander le nom d’utilisateur et le mot de passe de l’utilisateur.

Lorsque vous utilisez un script personnalisé pour établir une connexion, le serveur n’a pas besoin d’exécuter Windows NT 4.0 ou Windows 2000.

L’interface utilisateur de script personnalisé doit prendre en charge IDCANCEL

Si le numéroteur personnalisé affiche une interface utilisateur, l’interface utilisateur doit prendre en charge WM_COMMAND messages où LOWORD(wParam) est égal à IDCANCEL.

Configuration de la connexion

Le point d’entrée RasCustomScriptExecute peut être appelé à partir de RasDialDlg ou, sur Windows XP, à partir de RasDial.

Pour appeler RasCustomScriptExecute à partir de RasDialDlg, définissez l’option RASEO_CustomScript dans l’entrée de l’annuaire téléphonique pour la connexion. Consultez le membre dwfOptions de RASENTRY pour obtenir une description des options d’entrée de l’annuaire téléphonique. Utilisez les fonctions RasGetEntryProperties et RasSetEntryProperties pour définir cette option par programmation.

Windows XP : Pour appeler RasCustomScriptExecute à partir de RasDial, l’appel à RasDial doit spécifier une structure RASDIALEXTENSIONS , et cette structure doit spécifier l’indicateur RDEOPT_UseCustomScripting. En outre, l’entrée de téléphone pour la connexion doit spécifier l’option RASEO_CustomScript comme décrit dans le paragraphe précédent.

Appel de la DLL de script personnalisé

Si l’utilisateur active une connexion pour une entrée d’annuaire téléphonique dont RASEO_CustomScript défini, RAS appelle la DLL de script personnalisé. Dans ce scénario, RAS appelle la DLL de script personnalisé à partir de RasDialDlg.

Pour appeler la DLL de script personnalisé par programme, établissez la connexion à l’aide de la fonction RasDialDlg . Sur Windows XP, la fonction RasDial appelle également la DLL de script personnalisé.