WinSLIStartup

WinSLIStartup 函数允许使用会话级别接口 (SLI) 谓词的应用程序指定所需的 Microsoft Windows 逻辑单元应用程序版本 (LUA) ,并检索特定 Windows LUA 实现的详细信息。 在发出任何进一步的 Windows LUA 调用之前,应用程序必须调用此函数以向 Windows LUA 实现注册自身。

语法

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

参数

wVersionRequired
指定所需的 Windows LUA 支持版本。 高位字节指定次要版本 (修订版) 编号。 低序字节指定主版本号。

lpLuaData
指向包含返回的版本号信息的 LUADATA 结构的指针。

返回值

返回代码指定应用程序是否已成功注册,以及 Windows LUA 实现是否可以支持指定的版本号。 如果值为零,则表示已成功注册,并且可以支持指定的版本。 否则,返回代码为下列代码之一:

WLUASYSNOTREADY
基础网络系统尚未准备好进行网络通信。

WLUAVERNOTSUPPORTED
此特定 Windows LUA 实现未提供所请求的 Windows LUA 支持版本。

WLUAINVALID
此动态链接库不支持应用程序指定的 Windows LUA 版本 (DLL) 。

WLUAFAILURE
初始化 Windows LUA DLL 时发生故障。 这通常是因为操作系统调用失败。

WLUAINITREJECT
多次调用 WinSLIStartup

注解

为了支持将来可能具有功能差异的 Windows LUA 实现和应用程序,在 WinSLIStartup 中进行了协商。 应用程序将传递给 WinSLIStartup 它可以使用的 Windows LUA 版本。 如果此版本低于 Windows LUA DLL 支持的最低版本,则 DLL 无法支持该应用程序, WinSLIStartup 将失败。 但是,如果版本不较低,则调用成功并返回 DLL 支持的最高版本的 Windows LUA。 如果此版本低于应用程序支持的最低版本,则应用程序初始化失败或尝试在系统上查找另一个 Windows LUA DLL。

此协商允许 Windows LUA DLL 和 Windows LUA 应用程序支持一系列 Windows LUA 版本。 如果版本中存在任何重叠,应用程序可以成功使用 DLL。 下表说明了 WinSLIStartup 如何与不同的应用程序和 DLL 版本结合使用。

应用版本 LUA DLL 版本 功能

WinSLIStartup


WinSLIStartup
结果
1.0 1.0 1.0 1.0 使用 1.0
1.0、2.0 1.0 2.0 1.0 使用 1.0
1.0 1.0、2.0 1.0 2.0 使用 1.0
1.0 2.0, 3.0 1.0 WLUAINVALID 失败
2.0, 3.0 1.0 3.0 1.0 应用失败
1.0, 2.0, 3.0 1.0, 2.0, 3.0 3.0 3.0 使用 3.0

注意

使用 SLI 谓词的应用程序必须在发出任何其他 LUA 命令之前调用 WinSLIStartup 。 但是,每个应用程序只需调用 WinSLIStartup 一次。 如果多次调用,后续调用将被拒绝。

WLUADATA 结构中描述了实际 LUA 实现的详细信息,定义如下:

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

进行最后一次 Windows LUA 调用后,应用程序应调用 WinSLICleanup 例程。

每个使用 SLI 谓词的 LUA 应用程序都必须在发出任何其他 LUA 调用之前进行 WinSLIStartup 调用。

另请参阅

WinSLICleanup