Accept_Conversation (CPI-C)

El programa invocado emite la llamada Accept_Conversation (nombre de función cmaccp) para aceptar la conversación entrante y establecer ciertas características de conversación. Para obtener una lista de las características de conversación iniciales, consulte Características de conversación iniciales.

Sintaxis

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

Parámetros

conversation_ID
Parámetro devuelto. Especifica el identificador de la conversación. Se usa mediante llamadas a CPI-C posteriores y se devuelve si el código devuelto es CM_OK o CM_OPERATION_INCOMPLETE. Si el código de retorno es CM_OPERATION_INCOMPLETE, la aplicación puede usar el parámetro conversation_ID para esperar o cancelar la conversación.

return_code
Código devuelto de esta llamada. Los códigos de retorno válidos se enumeran más adelante en este tema.

Códigos de retorno

CM_OK
Código de retorno principal; la llamada se ejecutó correctamente.

CM_PROGRAM_STATE_CHECK
Código de retorno principal; no hay ninguna conversación entrante (solo modo de bloqueo) o no se ha configurado ningún nombre del programa de transacciones local (TP).

CM_OPERATION_INCOMPLETE
Código de retorno principal; Se ha iniciado una operación de no bloqueo en la conversación, pero no se ha completado. El programa puede emitir Wait_For_Conversation esperar a que la operación se complete o Cancel_Conversation cancelar la operación y la conversación.

CM_PRODUCT_SPECIFIC_ERROR
Código de retorno principal; se produjo un error específico del producto y se ha registrado en el registro de errores de productos.

Cambios de estado

La conversación debe estar en estado RESET cuando se emite Accept_Conversation .

Si la llamada se realiza correctamente, la conversación cambia al estado RECEIVE. Si se produce un error en la llamada, el estado permanece sin cambios.

Comentarios

Tras la ejecución correcta de esta llamada, CPI-C genera un identificador de conversación de 8 bytes. Este identificador es un parámetro necesario para todas las demás llamadas CPI-C emitidas por el programa invocado en esta conversación.

Las conversaciones entrantes se aceptarán según el nombre de TP de destino que especifiquen, que deben coincidir con los nombres de TP locales configurados. Los nombres de TP locales se pueden configurar mediante métodos dependientes de la implementación o mediante la llamada al programa Specify_Local_TP_Name. De este modo, un programa puede tener más de un nombre de TP local. El programa puede llamar a Extract_TP_Name para detectar el nombre especificado en la conversación entrante.

La operación se realiza en modo de no bloqueo si el programa ha llamado a Specify_Local_TP_Name anteriormente; de lo contrario, se realiza en modo de bloqueo.