共用方式為


RAS 自定義腳本

開發人員可以建立位於 RAS 用戶端電腦上的自定義腳本 DLL。 此 DLL 可以在建立連線的過程中與伺服器通訊。

Windows NT: 無法使用自訂腳本。

設置 DLL 檔案

若要設定 DLL,請在下列登錄機碼下建立名稱為 CustomScriptDllPath 的值:

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters

這個值的類型應該是 REG_EXPAND_SZ。 值應該包含自訂腳本 DLL 的路徑。 每個 RAS 用戶端電腦只支援一個自定義腳本 DLL。

伺服器、RAS 和 Custom-Scripting DLL 之間的互動

自訂文稿 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叫用。

若要從 RasDialDlg叫用 RasCustomScriptExecute,請在連線的電話簿項目中設定 [RASEO_CustomScript] 選項。 如需了解電話簿輸入選項的描述,請參閱 dwfOptionsRASENTRY 成員。 使用 RasGetEntryPropertiesRasSetEntryProperties 函式,以程式設計方式設定此選項。

Windows XP: 若要從 RasDial叫用 RasCustomScriptExecuteRasDial 的呼叫必須指定 RASDIALEXTENSIONS 結構,且此結構必須指定RDEOPT_UseCustomScripting旗標。 此外,連線的電話簿項目必須指定RASEO_CustomScript選項,如前一段所述。

叫用自定義腳本 DLL

如果使用者啟用針對已設定 RASEO_CustomScript 的電話簿條目的連線,RAS 會調用自訂腳本的 DLL。 在此案例中,RAS 會從 RasDialDlg叫用自定義腳本 DLL。

若要以程式設計方式叫用自定義腳本 DLL,請使用 RasDialDlg 函式建立連線。 在 Windows XP 上,RasDial 函式也會叫用自定義腳本 DLL。