cciNodeCompletionCallback

Esta es una función que se puede registrar como una devolución de llamada y se invoca cuando un nodo ha finalizado el proceso de un mensaje y devuelve el control a su nodo situado en sentido ascendente. Se invoca en cada mensaje que se propaga dentro del grupo de ejecución en el que se ha registrado la llamada de devolución, si la salida de usuario está en estado activo. La llamada de devolución se registra proporcionando un puntero a la función como el campo iFpNodeCompletionCallback de la estructura CCI_UE_VFT que se ha pasado a cciRegisterUserExit.

Si el nodo ha completado el proceso debido a una excepción no manejada, entonces devuelve un reasonCode de CCI_EXCEPTION y puede obtener los detalles de la excepción invocando cciGetLastExceptionData.

Si el nodo ha finalizado normalmente (incluido el manejo de una excepción en el terminal de captación o de anomalía) devuelve un reasonCode de CCI_SUCCESS.
Nota: En este caso, si se invocacciGetLastExceptionData se obtienen resultados imprevistos.

Sintaxis

typedef void (*cciNodeCompletionCallback)   (
                                 CciDataContext* userContext,
                                 CciMessage*  message,
                                 CciMessage*     localEnvironment,
                                 CciMessage* exceptionList,
                                 CciMessage*     environment,
                                 CciConnection*  connection,
                                 int             reasonCode);

Parámetros

userContext (entrada)
Este es el valor que se ha pasado a la función cciRegisterUserExit.
message
Este es un manejador para el objeto del mensaje que se va a propagar. El código de la salida de usuario no debe actualizar este árbol.
localEnvironment
Este es un manejador para el objeto de entorno local que se va a propagar.
exceptionList
Este es un manejador para el objeto de lista de excepción que se va a propagar.
environment
Este un manejador para el objeto de entorno para el flujo de mensajes actual.
connection
Este es un manejador para el objeto de conexión entre dos nodos. Por ejemplo, se puede utilizar en las llamadas cciGetSourceNode, cciGetTargetNode, cciGetSourceTerminalName y cciGetTargetTerminalName. Este manejador sólo es válido mientras dura esta invocación de la función de rutina de usuario.
reasonCode
Indica si el nodo ha finalizado con normalidad (CCI_SUCCESS) o si el nodo ha finalizado debido a una excepción no manejada (CCI_EXCEPTION). Si el nodo ha finalizado debido a una excepción no manejada, puede encontrar los detalles de la excepción invocando cciGetLastExceptionData. Si el nodo ha finalizado normalmente (incluido el manejo de una excepción en el terminal de captación o de anomalía) entonces el efecto de invocarcciGetLastExceptionData no está determinado.

Valores de retorno

Ninguno.

Ejemplo

void myNodeCompletionCallback(
                                 CciDataContext* userContext,
                                 CciMessage*  message,
                                 CciMessage*     localEnvironment,
                                 CciMessage* exceptionList,
                                 CciMessage*     environment,
                                 CciConnection*  connection
                                 int             reasonCode){
…
…
}
Conceptos relacionados
Desarrollo de salidas de usuario
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as35940_