Accept_Conversation(CPI-C)

Accept_Conversation调用(函数名称 cmaccp)由调用的程序发出,以接受传入会话并设置某些会话特征。 有关初始对话特征的列表,请参阅 初始对话特征

语法

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

参数

conversation_ID
返回的参数。 指定会话的标识符。 它由后续的 CPI-C 调用使用,如果返回代码CM_OK或CM_OPERATION_INCOMPLETE,则返回该代码。 如果返回代码CM_OPERATION_INCOMPLETE,应用程序可以使用 conversation_ID 参数等待或取消会话。

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

返回代码

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

CM_PROGRAM_STATE_CHECK
主要返回代码;没有传入对话(仅阻止模式),或者尚未设置本地事务程序(TP)名称。

CM_OPERATION_INCOMPLETE
主要返回代码;会话上已启动非阻止作,但尚未完成。 程序可以发出 Wait_For_Conversation 等待作完成或 Cancel_Conversation 取消作和对话。

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

状态更改

发出 Accept_Conversation 时,会话必须处于 RESET 状态。

如果呼叫成功,会话将更改为 RECEIVE 状态。 如果调用失败,状态保持不变。

注解

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

根据他们指定的目标 TP 名称接受传入对话,这必须与已设置的本地 TP 名称匹配。 可以通过依赖实现的方法或调用 Specify_Local_TP_Name的程序设置本地 TP 名称。 通过这种方式,程序可以具有多个本地 TP 名称。 程序可以调用 Extract_TP_Name 来发现传入会话中指定的名称。

如果程序以前调用 了Specify_Local_TP_Name ,则以非阻止模式执行该作;否则,它会在阻止模式下执行。