cciNodeCompletionCallback

La función cciNodeCompletionCallback 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 al nodo situado en sentido ascendente.

La función cciNodeCompletionCallback invoca para cada mensaje que se ha propagado en el 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 l nodo finaliza debido a una excepción no manejada, devuelve un reasonCode de CCI_EXCEPTION y los detalles de dicha excepción se pueden obtener invocando cciGetLastExceptionData.

Si el nodo finaliza normalmente (incluido el manejo de una excepción en el terminal de captación o de anomalía) devuelve un reasonCode de CCI_SUCCESS. 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)
El valor que se ha pasado a la función cciRegisterUserExit.
message
Un manejador para el objeto del mensaje actual. El mensaje actual es el mensaje que se propaga al nodo más las modificaciones aplicadas a la raíz de entrada del nodo.
localEnvironment
Un manejador para el objeto de entorno local que se está propagando.
exceptionList
Un manejador para el objeto de lista de excepción que se está propagando.
environment
Un manejador para el objeto de entorno para el flujo de mensajes actual.
connection
Un manejador para el objeto de conexión entre dos nodos. El manejador se puede utilizar, por ejemplo, en las llamadas a 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
Un código que razón que indica si el nodo finaliza con normalidad (CCI_SUCCESS) o si el nodo finaliza debido a una excepción no manejada (CCI_EXCEPTION). Si el nodo finaliza debido a una excepción no manejada, puede obtener los detalles de dicha excepción invocando cciGetLastExceptionData. Si el nodo finaliza normalmente (incluido el manejo de una excepción en el terminal de captación o de anomalía) el efecto de invocar cciGetLastExceptionData 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
Salidas de usuario
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:56:22

as35940_