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 或從 RasDial叫用,或在 Windows XP 上從RasDial叫用。
若要從RasDialDlg叫用RasCustomScriptExecute,請在連線的電話簿專案中設定 [RASEO_CustomScript] 選項。 如需電話簿輸入選項的描述,請參閱RASENTRY的dwfOptions成員。 使用 RasGetEntryProperties 和 RasSetEntryProperties 函式,以程式設計方式設定此選項。
Windowsxp:若要從RasDial叫用RasCustomScriptExecute,RasDial的呼叫必須指定RASDIALEXTENSIONS結構,而且此結構必須指定RDEOPT_UseCustomScripting旗標。 此外,連線的電話簿專案必須指定上一個段落中所述的RASEO_CustomScript選項。
叫用自訂腳本 DLL
如果使用者針對已設定RASEO_CustomScript的電話簿專案啟用連線,RAS 會叫用自訂腳本 DLL。 在此案例中,RAS 會從 RasDialDlg叫用自訂腳本 DLL。
若要以程式設計方式叫用自訂腳本 DLL,請使用 RasDialDlg 函式建立連線。 在 Windows XP 上, RasDial 函式也會叫用自訂腳本 DLL。