RAS カスタム スクリプト

開発者は、RAS クライアント コンピューター上に存在するカスタム スクリプト DLL を作成できます。 この DLL は、接続を確立するプロセス中にサーバーと通信できます。

Windows NT: カスタム スクリプトは使用できません。

DLL の設定

DLL を設定するには、次のレジストリ キーの下に CustomScriptDllPath という名前の値を作成します。

HKEY_LOCAL_MACHINE
   System
      CurrentControlSet
         Services
            Rasman
               Parameters

この値は 、REG_EXPAND_SZ型である必要があります。 値には、カスタム スクリプト DLL へのパスが含まれている必要があります。 RAS クライアント コンピューターごとにサポートされるカスタム スクリプト DLL は 1 つだけです。

サーバー、RAS、およびCustom-Scripting DLL 間の相互作用

カスタム スクリプト DLL では、 RasCustomScriptExecute という 1 つのエントリ ポイントをエクスポートする必要があります。 RAS は、接続プロセスのRASCS_Interactive状態の間にこの関数を呼び出します。 RASCS_Interactive状態は一時停止状態であり、ユーザーはカスタム スクリプト DLL によって提示されるユーザー インターフェイスと対話できます。 接続状態の詳細については、「 RASCONNSTATE 」を参照してください。

RAS は RasCustomScriptExecute 関数にパラメーターとしてを渡します。

  • 接続に使用されているクライアント コンピューター上のポートへのハンドル。
  • 接続の電話帳とエントリを識別する文字列。
  • RAS は、DLL がユーザー インターフェイスを表示できるようにするために、ハンドルをウィンドウに渡します。
  • DLL がサーバーとの通信に使用できる一連の関数ポインター。

これらのパラメーターの詳細については、「 RasCustomScriptExecute 」を参照してください。

RAS は RASCustomScriptExecute への最後のパラメーターとして RASCUSTOMSCRIPTEXTENSIONS 構造体へのポインターを渡します。 この構造体には、 PFNRASSETCOMMSETTINGS 型の関数へのポインターが含まれています。 カスタム スクリプト DLL は、この関数を呼び出して、接続で使用されているポートの通信設定を変更します。

RAS は、サーバーとカスタム スクリプト DLL の間の相互作用を仲介します。 通常、サーバーはダイアログを開始します。 たとえば、サーバーはユーザーのユーザー名とパスワードを要求できます。

カスタム スクリプトを使用して接続を確立する場合、サーバーが 4.0 または Windows 2000 Windows NT実行されている必要はありません。

カスタム スクリプト ユーザー インターフェイスで IDCANCEL をサポートする必要がある

カスタム ダイヤラーにユーザー インターフェイスが表示される場合、ユーザー インターフェイスは LOWORD(wParam) が IDCANCEL と等しいWM_COMMAND メッセージをサポートする必要があります。

接続の構成

RasCustomScriptExecute エントリ ポイントは、RasDialDlg または Windows XP の RasDial から呼び出すことができます。

RasDialDlg から RasCustomScriptExecute を呼び出すには、接続の電話帳エントリで RASEO_CustomScript オプションを設定します。 電話帳のエントリ オプションの説明については、RASENTRYdwfOptions メンバーを参照してください。 このオプションをプログラムで設定するには、 RasGetEntryProperties 関数と RasSetEntryProperties 関数を使用します。

Windows XP:RasDial から RasCustomScriptExecute を呼び出すには、RasDial の呼び出しで RASDIALEXTENSIONS 構造体を指定する必要があり、この構造体では RDEOPT_UseCustomScripting フラグを指定する必要があります。 さらに、接続の電話帳エントリでは、前の段落で説明したようにRASEO_CustomScript オプションを指定する必要があります。

カスタム スクリプト DLL の呼び出し

ユーザーが、RASEO_CustomScript設定されている電話帳エントリの接続をアクティブ化すると、RAS はカスタム スクリプト DLL を呼び出します。 このシナリオでは、RAS は RasDialDlg からカスタム スクリプト DLL を呼び出します。

カスタム スクリプト DLL をプログラムで呼び出すには、 RasDialDlg 関数を使用して接続を確立します。 Windows XP では、 RasDial 関数によってカスタム スクリプト DLL も呼び出されます。