WinCPICStartup
WinCPICStartup 函数允许应用程序指定 Microsoft Windows Common Programming Interface for Communications (CPI-C) 所需的版本,并检索特定 Windows CPI-C 实现的详细信息。 在发出任何进一步的 Windows CPI-C 调用之前,应用程序必须调用此函数,以便向 Windows CPI-C 实现注册自身。
语法
INT WINAPI WinCPICStartup(
WORDwVersionRequired,
LPWCPICDATAlpwcpicdata);
参数
wVersionRequired
指定所需的 Windows CPI-C 支持版本。 高阶字节指定次要版本 (修订版) 数字。 低序字节指定主版本号。
lpwcpicdata
指向 CPI-C 数据结构的指针。 CPICDATA 结构定义如下:
typedef struct {
....WORD wVersion;
char szDescription[WCPICDESCRIPTION_LEN+1];
} CPICDATA, FAR * LPWCPICDATA;
WCPIDESCRIPTION 定义为 127,结构成员如下所示:
wVersion
支持的 Windows CPI-C 版本。 高阶字节指定次要版本 (修订版) 数字。 低序字节指定主版本号。
szDescription
描述支持的 CPI-C 版本的说明字符串。
返回值
返回值指定应用程序是否已成功注册,以及 Windows CPI-C 实现是否可以支持指定的版本号。 如果值为零,则表示已成功注册。 否则,返回值为以下值之一:
WCPICSYSNOTRERADY
基础网络系统尚未准备好进行网络通信。
WCPICVERNOTSUPPORTED
此特定 Windows CPI-C 实现未提供请求的 Windows CPI-C 支持版本。
WCPICINVALID
此动态链接库不支持应用程序指定的 Windows CPI-C 版本, (DLL) 。
注解
为了支持将来的 Windows CPI-C 实现和可能与 Windows CPI-C 版本 1.0 功能差异的应用程序,在 WinCPICStartup 中进行了协商。 应用程序将传递给 WinCPICStartup 它可以使用的 Windows CPI-C 版本。 如果此版本低于 Windows CPI-C DLL 支持的最低版本,则 DLL 无法支持该应用程序, WinCPICStartup 调用将失败。 但是,如果版本不低,则调用成功并返回 DLL 支持的最高版本的 Windows CPI-C。 如果此版本低于应用程序支持的最低版本,则应用程序初始化失败或尝试在系统上查找另一个 Windows CPI-C DLL。
此协商允许 Windows CPI-C DLL 和 Windows CPI-C 应用程序支持一系列 Windows CPI-C 版本。 如果版本中存在任何重叠,应用程序可以成功使用 DLL。 下表说明了 WinCPICStartup 如何与不同的应用程序和 DLL 版本结合使用。
应用程序版本 | DLL 版本 | To WinCPICStartup | 从 WinCPICStartup | 结果 |
---|---|---|---|---|
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 | WCPICINVALID | 失败 |
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 |
定义如下的 WHLLDATA 结构中介绍了实际 Windows CPI-C 实现的详细信息:
typedef struct tagWCPICDATA { WORD wVersion;
char szDescription[WHLLDESCRIPTION_LEN+1];
} WCPICDATA, FAR *LPWCPICDATA;
在进行最后一次 Windows CPI-C 调用后,应用程序应调用 WinCPICCleanup例程。
每个 Windows CPI-C 实现必须在发出任何其他 Windows CPI-C 调用之前进行 WinCPICStartup 调用。