APPC 谓词摘要
本部分简要介绍按函数分组的每个 APPC 谓词。
用于启动对话的谓词
ALLOCATE或 MC_ALLOCATE
由本地事务程序 (TP) 颁发。 此谓词在本地逻辑单元 (LU) 和伙伴 LU 之间分配会话,并在本地 TP 与伙伴 TP 之间建立会话。
ALLOCATE 可以建立基本对话或映射对话。 MC_ALLOCATE 只能启动映射对话。 分配会话后,APPC 使用此谓词 (conv_id) 返回 会话标识符。
RECEIVE_ALLOCATE
由合作伙伴 TP 颁发。 此谓词确认合作伙伴 TP 已准备好与发出 ALLOCATE 或 MC_ALLOCATE的本地 TP 开始对话。 成功执行后,此谓词将返回合作伙伴 TP 和 conv_id tp_id) ( TP 标识符。
TP_STARTED
由本地 TP 颁发。 此谓词通知 APPC 本地 TP 正在启动。 成功执行后,此谓词将返回本地 TP 的tp_id 。
用于发送数据的谓词
CONFIRM或 MC_CONFIRM
将本地 LU 的发送缓冲区的内容和确认请求发送到合作伙伴 TP。
FLUSH或 MC_FLUSH
刷新本地 LU 的发送缓冲区,并将缓冲区的内容发送到伙伴 LU 和 TP。 如果发送缓冲区为空,则不执行任何操作。
PREPARE_TO_RECEIVE或 MC_PREPARE_TO_RECEIVE
将会话的状态从 SEND 更改为 RECEIVE。 在更改聊天状态之前,此谓词执行 FLUSH、 MC_FLUSH、 CONFIRM 或 MC_CONFIRM 的等效项。 成功执行此谓词后,本地 TP 可以接收数据。
REQUEST_TO_SEND或 MC_REQUEST_TO_SEND
通知合作伙伴 TP 本地 TP 要发送数据。 本地 TP 必须等到合作伙伴 TP 发出PREPARE_TO_RECEIVE、 MC_PREPARE_TO_RECEIVE、 RECEIVE_AND_WAIT或 MC_RECEIVE_AND_WAIT,并且合作伙伴 TP 的会话状态更改为 RECEIVE,然后本地 TP 才开始发送数据。
SEND_DATA或 MC_SEND_DATA
将数据放入本地 LU 的发送缓冲区中,以便传输到合作伙伴 TP。
发生以下情况之一时,本地 LU 的发送缓冲区中收集的数据将传输到合作伙伴 LU 和合作伙伴 TP:
发送缓冲区将填满。
本地 TP 发出 FLUSH、 MC_FLUSH、 CONFIRM、 MC_CONFIRM、 DEALLOCATE、 MC_DEALLOCATE或其他刷新本地 LU 发送缓冲区的谓词。
用于接收数据的谓词
POST_ON_RECEIPT或 MC_POST_ON_RECEIPT
发出此谓词允许应用程序注册以在数据或状态到达本地 LU 时接收通知,而无需同时实际接收通知。 此谓词只能在处于 RECEIVE 状态时发出,并且它永远不会导致会话状态的更改。
当 TP 发出此谓词时,APPC 会立即将控制权返回到 TP。 满足指定条件时,将发出指定为参数的 Win32® 事件信号,谓词完成。 然后,TP 查看谓词控制块中的返回代码,以确定任何数据或状态通知是否已到达本地 LU,并发出 RECEIVE_IMMEDIATE 或 RECEIVE_AND_WAIT 谓词来实际接收数据或状态通知。
RECEIVE_AND_POST或 MC_RECEIVE_AND_POST
在会话处于 RECEIVE 状态时发出此谓词会将会话状态更改为PENDING_POST,并导致本地 TP 异步接收数据。 这样,当数据仍到达本地 LU 时,本地 TP 就可以继续处理。
在会话处于 SEND 状态时发出此谓词会刷新 LU 的发送缓冲区,并将会话状态更改为PENDING_POST。 然后,本地 TP 开始异步接收数据。
RECEIVE_AND_WAIT或 MC_RECEIVE_AND_WAIT
在会话处于 RECEIVE 状态时发出此谓词会导致本地 TP 接收当前可从合作伙伴 TP 获取的任何数据。 如果没有可用的数据,则本地 TP 将等待数据到达。
在会话处于 SEND 状态时发出此谓词会刷新 LU 的发送缓冲区,并将会话状态更改为 RECEIVE。 然后,本地 TP 开始接收数据。
RECEIVE_IMMEDIATE或 MC_RECEIVE_IMMEDIATE
接收合作伙伴 TP 当前提供的任何数据。 如果没有可用的数据,则本地 TP 不会等待。
TEST_RTS或 MC_TEST_RTS
确定是否已收到REQUEST_TO_SEND、MC_REQUEST_TO_SEND或通知。
用于确认数据或报告错误的谓词
CONFIRMED或 MC_CONFIRMED
回复来自合作伙伴 TP 的确认请求。 它会通知合作伙伴 TP 本地 TP 已接收并处理了数据,而不会出错。
RECEIVE_LOG_DATA或 MC_RECEIVE_LOG_DATA
发出此谓词允许用户注册以接收与入站函数管理标头 7 关联的日志数据, (FMH7) 错误报告。 谓词将缓冲区传递给 APPC,接收的任何日志数据都放置在该缓冲区中。 当连续 FMH7 到达时,APPC 会继续使用此缓冲区,直到提供另一个缓冲区 (,即,直到 TP 发出另一 个RECEIVE_LOG_DATA 或 MC_RECEIVE_LOG_DATA 指定其他缓冲区,或者) 根本没有任何缓冲区。
SEND_CONVERSATION或 MC_SEND_CONVERSATION
此谓词由调用 TP 发出,在本地 LU 和伙伴 LU 之间分配会话,发送会话上的数据,然后解除分配会话。
SEND_ERROR或 MC_SEND_ERROR
通知合作伙伴 TP 本地 TP 遇到应用程序级错误。
用于获取和设置信息的谓词
GET_ATTRIBUTES或 MC_GET_ATTRIBUTES
由 TP 用于获取会话的属性。
GET_LU_STATUS
用于报告特定远程 LU 的状态。
GET_STATE
由 TP 用来询问特定会话的状态。
GET_TP_PROPERTIES
返回 TP 和当前事务的属性。
GET_TYPE
由 TP 用于确定对话类型 (特定会话的基本或映射) 。 利用此信息,TP 可以决定是发出基本对话谓词还是映射对话谓词。
SET_TP_PROPERTIES
用于设置 TP 和当前事务的属性。
提供管理功能的谓词
ACTIVATE_SESSION
使用指定的模式激活本地 LU 与指定伙伴 LU 之间的会话。
CNOS (更改会话数)
建立 APPC LU 6.2 会话限制。
DEACTIVATE_SESSION
停用特定会话或特定模式下的所有会话。
DISPLAY
返回 SNA 节点的配置信息和当前操作值。
结束对话的谓词
DEALLOCATE或 MC_DEALLOCATE
解除分配两个TP 之间的对话。 在解除分配会话之前,此谓词执行 FLUSH、 MC_FLUSH、 CONFIRM 或 MC_CONFIRM 的等效项。
TP_ENDED
由本地和合作伙伴 TP 颁发。 它通知 APPC TP 即将结束。 发出此谓词也会终止任何活动对话。