Compartir a través de


WinSLIStartup

La función WinSLIStartup permite que una aplicación use los verbos de interfaz de nivel de sesión (SLI) para especificar la versión de la aplicación de unidad lógica (LUA) de Microsoft Windows necesaria y para recuperar detalles de la implementación específica de LUA de Windows. Una aplicación debe llamar a esta función para registrarse con una implementación de LUA de Windows antes de emitir más llamadas LUA de Windows.

Sintaxis

  
int WINAPI WinSLIStartup(   
WORD wVersionRequired,   
LUADATA FAR *lpLuaData  
);  

Parámetros

wVersionRequired
Especifica la versión de la compatibilidad con LUA de Windows necesaria. El byte de orden superior especifica el número de versión secundaria (revisión). El byte de orden bajo especifica el número de versión principal.

lpLuaData
Puntero a la estructura LUADATA que contiene la información de número de versión devuelta.

Valor devuelto

El código de retorno especifica si la aplicación se registró correctamente y si la implementación de LUA de Windows puede admitir el número de versión especificado. Si el valor es cero, se registró correctamente y se puede admitir la versión especificada. De lo contrario, el código de retorno es uno de los siguientes:

WLUASYSNOTREADY
El sistema de red subyacente no está listo para la comunicación de red.

WLUAVERNOTSUPPORTED
Esta implementación concreta de LUA de Windows no proporciona la versión de soporte técnico de Windows LUA solicitada.

WLUAINVALID
Esta biblioteca de vínculos dinámicos (DLL) no admite la versión de LUA de Windows especificada por la aplicación.

WLUAFAILURE
Error al inicializar el archivo DLL de LUA de Windows. Esto suele ocurrir porque se produjo un error en una llamada del sistema operativo.

WLUAINITREJECT
Se llamó a WinSLIStartup varias veces.

Comentarios

Para admitir futuras implementaciones y aplicaciones de Windows LUA que pueden tener diferencias de funcionalidad, se realiza una negociación en WinSLIStartup. Una aplicación pasa a WinSLIStartup la versión de LUA de Windows que puede usar. Si esta versión es inferior a la versión más baja compatible con el archivo DLL de LUA de Windows, el archivo DLL no puede admitir la aplicación y WinSLIStartup produce un error. Sin embargo, si la versión no es inferior, la llamada se realiza correctamente y devuelve la versión más alta de LUA de Windows compatible con el archivo DLL. Si esta versión es inferior a la versión más baja compatible con la aplicación, se produce un error en la inicialización de la aplicación o se intenta encontrar otro archivo DLL de LUA de Windows en el sistema.

Esta negociación permite que tanto un archivo DLL de LUA de Windows como una aplicación lua de Windows admitan una variedad de versiones de LUA de Windows. Una aplicación puede usar correctamente un archivo DLL si hay alguna superposición en las versiones. En la tabla siguiente se muestra cómo funciona WinSLIStartup junto con diferentes versiones de aplicación y DLL.

Versiones de la aplicación Versiones de DLL de LUA En

WinSLIStartup
De

WinSLIStartup
Resultado
1.0 1.0 1.0 1.0 Uso de la versión 1.0
1.0, 2.0 1.0 2.0 1.0 Uso de la versión 1.0
1.0 1.0, 2.0 1.0 2.0 Uso de la versión 1.0
1.0 2.0, 3.0 1.0 WLUAINVALID Suspenso
2.0, 3.0 1.0 3.0 1.0 Se produce un error en la aplicación
1.0, 2.0, 3.0 1.0, 2.0, 3.0 3.0 3.0 Uso de la versión 3.0

Nota

La aplicación que usa verbos SLI debe llamar a WinSLIStartup antes de emitir cualquier otro comando LUA. Sin embargo, se debe llamar a WinSLIStartup solo una vez por aplicación. Si se llama varias veces, se rechazarán las llamadas posteriores.

Los detalles de la implementación real de LUA se describen en la estructura WLUADATA , definida como se indica a continuación:

typedef struct { WORD wVersion;  
            char szDescription[WLUADESCRIPTION_LEN+1];  
            } LUADATA;  

Después de realizar su última llamada a LUA de Windows, una aplicación debe llamar a la rutina WinSLICleanup .

Cada aplicación LUA que use verbos SLI debe realizar una llamada WinSLIStartup antes de emitir cualquier otra llamada LUA.

Consulte también

WinSLICleanup