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을 지원해야 합니다.

사용자 지정 전화 걸기가 사용자 인터페이스를 표시하는 경우 사용자 인터페이스는 LOWORD(wParam)가 IDCANCEL과 같은 WM_COMMAND 메시지를 지원해야 합니다.

연결 구성

RasCustomScriptExecute 진입점은 RasDialDlg 또는 Windows XP의 RasDial에서 호출할 수 있습니다.

RasDialDlg에서 RasCustomScriptExecute를 호출하려면 연결에 대한 전화 번호부 항목에서 RASEO_CustomScript 옵션을 설정합니다. 전화 번호부 항목 옵션에 대한 설명은 RASENTRYdwfOptions 멤버를 참조하세요. RasGetEntryPropertiesRasSetEntryProperties 함수를 사용하여 프로그래밍 방식으로 이 옵션을 설정합니다.

Windows XP:RasDial에서 RasCustomScriptExecute를 호출하려면 RasDial 호출에서 RASDIALEXTENSIONS 구조를 지정해야 하며 이 구조체는 RDEOPT_UseCustomScripting 플래그를 지정해야 합니다. 또한 연결에 대한 전화 번호부 항목은 이전 단락에 설명된 대로 RASEO_CustomScript 옵션을 지정해야 합니다.

사용자 지정 스크립팅 DLL 호출

사용자가 RASEO_CustomScript 설정된 전화 번호부 항목에 대한 연결을 활성화하면 RAS는 사용자 지정 스크립팅 DLL을 호출합니다. 이 시나리오에서 RAS는 RasDialDlg에서 사용자 지정 스크립팅 DLL을 호출합니다.

프로그래밍 방식으로 사용자 지정 스크립팅 DLL을 호출하려면 RasDialDlg 함수를 사용하여 연결을 설정합니다. Windows XP에서 RasDial 함수는 사용자 지정 스크립팅 DLL도 호출합니다.