TP_STARTED

TP_STARTED 谓词由调用事务程序 (TP) 发出,并通知 APPC,TP 正在启动。

对于 Microsoft® Windows® 版本 3.x 系统,建议使用 WinAsyncAPPC 函数,而不要使用此调用的阻塞版。

以下结构描述了 TP_STARTED 谓词使用的谓词控制块。

语法

  
struct tp_started {  
    unsigned short  opcode;  
    unsigned char   opext;  
    unsigned char   reserv2;  
    unsigned short  primary_rc;  
    unsigned long   secondary_rc;  
    unsigned char   lu_alias[8];  
    unsigned char   tp_id[8];  
    unsigned char   tp_name[64];  
    unsigned char   syncpoint_rqd;  
};   

成员

opcode
提供的参数。 指定谓词操作代码 AP_TP_STARTED。

opext
提供的参数。 指定谓词操作扩展。 如果设置了 AP_EXTD_VCB 位,则表明 tp_started 结构包括用于提供同步点支持的 syncpoint_rqd 成员 。 否则,谓词控制块将在 tp_name 成员之后立即结束。

reserv2
一个保留字段。

primary_rc
返回的参数。 指定在谓词完成时由 APPC 设置的主要返回代码。 有效的返回代码因发出的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅“返回代码”。

secondary_rc
返回的参数。 指定在谓词完成时由 APPC 设置的次要返回代码。 有效的返回代码因发出的 APPC 谓词而异。 有关此谓词的有效错误代码,请参阅“返回代码”。

lu_alias
提供的参数。 指定可供本地 TP 知道本地 LU 的别名。

该名称必须与配置期间建立的 LU 别名相匹配。 APPC 根据当前 Host Integration Server 配置文件检查 LU 别名。 但是,由于 Host Integration Server 所用客户端/服务器体系结构的原因,只有在执行 ALLOCATEMC_ALLOCATE 之后,才会验证此参数。

此参数是一个 8 字节 ASCII 字符串。 它可以包含以下 ASCII 字符:

  • 大写字母

  • 0 到 9 的数字

  • 空格

  • 特殊字符 $、#、% 和 @

此字符串的第一个字符不能是空格。

如果此参数值的长度小于 8 个字节,请在此参数值右侧填充 ASCII 空格 (0x20)。

若要使用默认 LU 池中的某个 LU,请将此字段设置为 8 个十六进制零。 有关详细信息,请参阅默认 LU

tp_id
返回的参数。 标识新建立的 TP。

tp_name
提供的参数。 指定本地 TP 的名称。

在 APPC 的 Host Integration Server 实现下,当此参数由 TP_STARTED 发出时,将忽略此参数。 但是,如果程序在 APPC 的 IBM ES for OS/2 版本 1.0 实现下运行,则此参数是必需的。

此参数是一个 64 字节 EBCDIC 字符串,区分大小写。 tp_name 参数可以包含以下 EDCDIC 字符:

  • 大写和小写字母

  • 0 到 9 的数字

  • 特殊字符 $、#、@ 和句点 (.)

如果 TP 名称的长度小于 64 个字节,请在该 TP 名称右侧填充 EBCDIC 空格 (0x40)。

服务 TP 名称的 SNA 约定为最多 4 个字符。 第一个字符是介于 0x00 和 0x3F 之间的十六进制字节。

syncpoint_rqd
仅当在 opext 参数中设置了 AP_EXTD_VCB 位并且需要同步点服务时,此可选参数才适用。

  • 如果需要同步点,则此参数的值为 AP_YES。
  • 如果不需要同步点,则此参数的值为 AP_NO。

返回代码

AP_OK
主要返回代码;谓词已成功执行。

AP_COMM_SUBSYSTEM_ABENDED
主要返回代码;指示以下状况之一:

  • 此对话使用的节点遇到了 ABEND。

  • TP 与 PU 2.1 节点之间的连接已断开(LAN 错误)。

  • TP 计算机上的 SnaBase 遇到了 ABEND。

系统管理员应检查错误日志以确定发生 ABEND 的原因。

AP_COMM_SUBSYSTEM_NOT_LOADED
主要返回代码;处理谓词时无法加载或终止某个必需的组件。 因此无法通信。 请联系系统管理员以执行纠正措施。

AP_INVALID_VERB_SEGMENT
主要返回代码;VCB 超出了数据段的末尾。

AP_STACK_TOO_SMALL
主要返回代码;应用程序的堆栈大小太小,无法执行谓词。 增加应用程序的堆栈大小。

AP_TP_BUSY
主要返回代码;本地 TP 向 APPC 发出了调用,而 APPC 正在处理该 TP 的另一个调用。

AP_THREAD_BLOCKING
主要返回代码;调用线程已在某个阻塞调用中。

AP_UNEXPECTED_DOS_ERROR
主要返回代码;操作系统在处理来自本地 TP 的 APPC 调用时向 APPC 返回了错误。 已通过 secondary_rc 返回了操作系统返回代码。 此返回代码是以 Intel 字节交换顺序显示的。 如果问题持续出现,请咨询系统管理员。

备注

在对 TP_STARTED 的响应中,APPC 为调用 TP 生成了 TP 标识符。 此标识符是该调用 TP 发出的后续 APPC 谓词的必需参数。

这必须是该调用 TP 发出的第一个 APPC 谓词。 因此,任何以前的 APPC 状态都不存在。

如果谓词成功执行(primary_rc 为 AP_OK),则状态将更改为 RESET。

本节内容