Initialize_Conversation(CPI-C)

调用程序发出 Initialize_Conversation 调用(函数名称 cminit),以获取 8 字节会话标识符并设置会话特征的初始值。

语法

  
CM_ENTRY Initialize_Conversation(   
  unsigned char FAR *conversation_ID,    
  unsigned char FAR *sym_dest_name,    
  CM_INT32 FAR *return_code            
);  

参数

conversation_ID
返回的参数。 指定会话的标识符。 后续 CPI-C 调用使用它。

sym_dest_name
提供的参数。 指定符号目标名称 - 与从配置文件加载的侧信息项关联的名称,或 由Set_CPIC_Side_Information 调用定义。

此参数是一个 8 字节 ASCII 字符串。 允许的字符如下所示:

  • 大写字母

  • 数字从 0 到 9

    此参数也可以设置为 8 个空格。 在这种情况下,调用程序必须在发出 Allocate 之前发出以下调用:

  • Set_Mode_Name

  • Set_Partner_LU_Name

  • Set_TP_Name

    return_code
    从此调用返回的代码。 本主题后面列出了有效的返回代码。

返回代码

CM_OK
主要返回代码;调用已成功执行。

CM_PROGRAM_PARAMETER_CHECK
主要返回代码; sym_dest_name 指定的值与侧信息表中的符号目标名称不匹配,并且不是空格。

CM_PRODUCT_SPECIFIC_ERROR
主要返回代码;发生了特定于产品的错误,并且已记录在产品错误日志中。

状态更改

会话处于 RESET 状态。

如果 return_code CM_OK,会话将更改为 INITIALIZE 状态。 对于其他返回代码,会话状态保持不变。

注解

初始值 CPI-C 默认值,或派生自与符号目标名称关联的侧信息。 有关初始值和端信息的详细信息,请参阅 CPI-C 程序 的初始对话特征侧信息

Set_ 调用可以 更改初始值。

如果侧信息包含无效值或 Set_ 调用将会话特征设置为无效值,则会在 “分配 ”调用中返回错误。

如果 CPI-C 应用程序尝试调用多个并发会话,则所有会话仅使用单个本地 APPC 逻辑单元(LU)。 这可以防止两个或多个依赖 LU 6.2 LU 之间的并发会话,导致后续Initialize_Conversation (CMALLC) 调用等待解除分配第一个会话。

如果 CPI-C 应用程序需要调用多个并发会话,则必须在主机集成服务器和远程系统之间使用独立的 LU 6.2。

成功执行此调用后,CPI-C 生成会话标识符。 此标识符是调用程序为此会话发出的所有其他 CPI-C 调用的必需参数。

在正常情况下,CPI-C 应用程序无法使用两个不同的本地 APPC LU 调用两个并发会话。 当设置强制 CPI-C 在每个Initialize_Conversation(cminit)调用上发出新的TP_STARTED谓词时,可以使用注册表项。 这是强制每个调用的 APPC 资源位置所必需的。 必须定义以强制此行为的注册表项如下:

\HKLM\CurrentControlSet\Services\SnaBase\Parameters\Client\GETNEWTPID