Scripting personalizado de RAS
Los desarrolladores pueden crear un archivo DLL de scripting personalizado que resida en un equipo cliente ras. Este archivo DLL puede comunicarse con el servidor durante el proceso de establecimiento de una conexión.
Windows NT: El scripting personalizado no está disponible.
Configuración del archivo DLL
Para configurar el archivo DLL, cree un valor con el nombre CustomScriptDllPath en la siguiente clave del Registro:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Services
Rasman
Parameters
Este valor debe ser de tipo REG_EXPAND_SZ. El valor debe contener la ruta de acceso al archivo DLL de scripting personalizado. Solo se admite un archivo DLL de scripting personalizado para cada equipo cliente ras.
Interacción entre el servidor, RAS y el archivo DLL de Custom-Scripting
El archivo DLL de scripting personalizado debe exportar un único punto de entrada: RasCustomScriptExecute. RAS llama a esta función durante el estado RASCS_Interactive del proceso de conexión. El estado RASCS_Interactive es un estado en pausa, que permite al usuario interactuar con una interfaz de usuario presentada por el archivo DLL de scripting personalizado. Consulte RASCONNSTATE para obtener más información sobre los estados de conexión.
RAS pasará como parámetros a la función RasCustomScriptExecute :
- Identificador del puerto en el equipo cliente que se usa para la conexión.
- Cadenas que identifican la libreta de teléfonos y la entrada de la conexión.
- RAS también pasa un identificador a una ventana para permitir que el archivo DLL presente una interfaz de usuario.
- Un conjunto de punteros de función que el archivo DLL puede usar para comunicarse con el servidor.
Consulte RasCustomScriptExecute para obtener más información sobre estos parámetros.
RAS pasa un puntero a una estructura RASCUSTOMSCRIPTEXTENSIONS como último parámetro a RasCustomScriptExecute. Esta estructura contiene un puntero a una función de tipo PFNRASSETCOMMSETTINGS. El archivo DLL de scripting personalizado llama a esta función para modificar la configuración de comunicación en el puerto que usa la conexión.
RAS media la interacción entre el servidor y el archivo DLL de scripting personalizado. Normalmente, el servidor inicia el cuadro de diálogo. Por ejemplo, el servidor puede solicitar el nombre de usuario y la contraseña del usuario.
Al usar el scripting personalizado para establecer una conexión, el servidor no debe ejecutar Windows NT 4.0 ni Windows 2000.
La interfaz de usuario de scripting personalizado debe ser compatible con IDCANCEL
Si el marcador personalizado muestra una interfaz de usuario, la interfaz de usuario debe admitir WM_COMMAND mensajes en los que LOWORD(wParam) sea igual a IDCANCEL.
Configuración de la conexión
El punto de entrada RasCustomScriptExecute se puede invocar desde RasDialDlg o, en Windows XP, desde RasDial.
Para invocar RasCustomScriptExecute desde RasDialDlg, establezca la opción RASEO_CustomScript en la entrada de la libreta de teléfonos para la conexión. Consulte el miembro dwfOptions de RASENTRY para obtener una descripción de las opciones de entrada de la libreta de teléfonos. Use las funciones RasGetEntryProperties y RasSetEntryProperties para establecer esta opción mediante programación.
Windows XP: Para invocar RasCustomScriptExecute desde RasDial, la llamada a RasDial debe especificar una estructura RASDIALEXTENSIONS y esta estructura debe especificar la marca RDEOPT_UseCustomScripting. Además, la entrada de la libreta de teléfonos de la conexión debe especificar la opción RASEO_CustomScript tal y como se describe en el párrafo anterior.
Invocación del archivo DLL de scripting personalizado
Si el usuario activa una conexión para una entrada de libreta de teléfonos que tiene RASEO_CustomScript establecido, RAS invoca el archivo DLL de scripting personalizado. En este escenario, RAS invoca el archivo DLL de scripting personalizado desde RasDialDlg.
Para invocar el archivo DLL de scripting personalizado mediante programación, establezca la conexión mediante la función RasDialDlg . En Windows XP, la función RasDial también invoca el archivo DLL de scripting personalizado.