Compartir a través de


WinRUIStartup

La función WinRUIStartup permite que una aplicación use verbos de interfaz de unidad de solicitud (RUI) para especificar la versión de la aplicación de unidad lógica de Windows (LUA) necesaria y para recuperar detalles de la implementación específica de LUA de Microsoft 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 a LUA de Windows.

Sintaxis

  
          int WINAPI WinRUIStartup(   
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 WinRUIStartup varias veces.

Comentarios

Para admitir futuras implementaciones y aplicaciones de Windows LUA que pueden tener diferencias de funcionalidad, se lleva a cabo una negociación en WinRUIStartup. Una aplicación pasa a WinRUIStartup 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 Windows LUA, el archivo DLL no puede admitir la aplicación y WinRUIStartup 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, la aplicación produce un error en su inicialización o intenta encontrar otro archivo DLL de LUA de Windows en el sistema.

Esta negociación permite que tanto un archivo DLL de Windows LUA 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 WinRUIStartup junto con diferentes versiones de aplicación y DLL.

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

WinRUIStartup
De

WinRUIStartup
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 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 RUI debe llamar a WinRUIStartup antes de emitir cualquier otro comando LUA. Sin embargo, se debe llamar a WinRUIStartup 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 sigue:

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 WinRUICleanup .

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

Consulte también

WinRUICleanup