Freigeben über


Benutzerdefinierte RAS-Skripterstellung

Entwickler können eine benutzerdefinierte Skript-DLL erstellen, die sich auf einem RAS-Clientcomputer befindet. Diese DLL kann während des Verbindungsaufbaus mit dem Server kommunizieren.

Windows NT: Benutzerdefinierte Skripts sind nicht verfügbar.

Einrichten der DLL

Um die DLL einzurichten, erstellen Sie einen Wert mit dem Namen CustomScriptDllPath unter dem folgenden Registrierungsschlüssel:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters

Dieser Wert sollte vom Typ REG_EXPAND_SZ sein. Der Wert sollte den Pfad zur DLL für benutzerdefinierte Skripterstellung enthalten. Für jeden RAS-Clientcomputer wird nur eine DLL für benutzerdefinierte Skripterstellung unterstützt.

Interaktion zwischen Server, RAS und Custom-Scripting DLL

Die benutzerdefinierte Skript-DLL sollte einen einzelnen Einstiegspunkt exportieren: RasCustomScriptExecute. RAS ruft diese Funktion während des RASCS_Interactive Zustands des Verbindungsprozesses auf. Der RASCS_Interactive Zustand ist ein angehaltener Zustand, der es dem Benutzer ermöglicht, mit einer Benutzeroberfläche zu interagieren, die von der DLL für benutzerdefinierte Skripts angezeigt wird. Weitere Informationen zu Verbindungszuständen finden Sie unter RASCONNSTATE .

RAS übergibt als Parameter an die RasCustomScriptExecute-Funktion :

  • Ein Handle für den Port des Clientcomputers, der für die Verbindung verwendet wird.
  • Zeichenfolgen, die das Telefonbuch und den Eintrag für die Verbindung identifizieren.
  • RAS übergibt auch ein Handle an ein Fenster, damit die DLL eine Benutzeroberfläche darstellen kann.
  • Eine Reihe von Funktionszeigern, die die DLL für die Kommunikation mit dem Server verwenden kann.

Weitere Informationen zu diesen Parametern finden Sie unter RasCustomScriptExecute .

RAS übergibt einen Zeiger auf eine RASCUSTOMSCRIPTEXTENSIONS-Struktur als letzten Parameter an RasCustomScriptExecute. Diese Struktur enthält einen Zeiger auf eine Funktion vom Typ PFNRASSETCOMMSETTINGS. Die DLL für benutzerdefinierte Skripterstellung ruft diese Funktion auf, um die Kommunikationseinstellungen für den port zu ändern, der von der Verbindung verwendet wird.

RAS vermittelt die Interaktion zwischen dem Server und der DLL für benutzerdefinierte Skripterstellung. In der Regel initiiert der Server das Dialogfeld. Beispielsweise kann der Server den Benutzernamen und das Kennwort des Benutzers anfordern.

Wenn Sie benutzerdefinierte Skripts zum Herstellen einer Verbindung verwenden, muss auf dem Server windows NT 4.0 oder Windows 2000 nicht ausgeführt werden.

Benutzerdefinierte Skripterstellungs-Benutzeroberfläche muss IDCANCEL unterstützen

Wenn der benutzerdefinierte Dialer eine Benutzeroberfläche anzeigt, muss die Benutzeroberfläche WM_COMMAND Nachrichten unterstützen, wobei LOWORD(wParam) IDCANCEL entspricht.

Konfigurieren der Verbindung

Der Einstiegspunkt RasCustomScriptExecute kann über RasDialDlg oder unter Windows XP über RasDial aufgerufen werden.

Um RasCustomScriptExecute über RasDialDlg aufzurufen, legen Sie die Option RASEO_CustomScript im Telefonbucheintrag für die Verbindung fest. Eine Beschreibung der Telefonbucheintragsoptionen finden Sie im dwfOptions-Member von RASENTRY . Verwenden Sie die Funktionen RasGetEntryProperties und RasSetEntryProperties , um diese Option programmgesteuert festzulegen.

Windows XP: Um RasCustomScriptExecute von RasDial aufzurufen, muss der Aufruf von RasDial eine RASDIALEXTENSIONS-Struktur angeben, und diese Struktur muss das RDEOPT_UseCustomScripting-Flag angeben. Darüber hinaus muss der Telefonbucheintrag für die Verbindung die Option RASEO_CustomScript angeben, wie im vorherigen Absatz beschrieben.

Aufrufen der dll für benutzerdefinierte Skripterstellung

Wenn der Benutzer eine Verbindung für einen Telefonbucheintrag aktiviert, für den RASEO_CustomScript festgelegt ist, ruft RAS die DLL für benutzerdefinierte Skripts auf. In diesem Szenario ruft RAS die DLL für benutzerdefinierte Skripterstellung von RasDialDlg auf.

Um die DLL für benutzerdefinierte Skripterstellung programmgesteuert aufzurufen, stellen Sie die Verbindung mithilfe der RasDialDlg-Funktion her. Unter Windows XP ruft die RasDial-Funktion auch die DLL für benutzerdefinierte Skripterstellung auf.