cciPropagatedMessageCallback

La función cciPropagatedMessageCallback se puede registrar como una devolución de llamada y se invoca cuando se propaga un mensaje de un nodo a otro.

La función cciPropagatedMessageCallback 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 iFpPropagatedMessageCallback de la estructura CCI_UE_VFT que se ha pasado a cciRegisterUserExit.

Sintaxis

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

Parámetros

userContext (entrada)
El valor que se ha pasado a la función cciRegisterUserExit.
message
Un manejador para el objeto del mensaje que se está propagando. El código de la salida de usuario no debe actualizar este árbol.
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.

Valores de retorno

Ninguno.

Ejemplo

void myPropagatedMessageCallback(
                        CciMessage*  message,
                        CciMessage*    localEnvironment,
                        CciMessage* exceptionList,
                        CciMessage*    environment,
                        CciConnection* connection){
 

   int          rc = CCI_SUCCESS;
   CciNode* targetNode = cciGetTargetNode(amp rc,
                                          connection);

 

   CciChar targetNodeName [initialStringBufferLength];
   targetNodeNameLength = cciGetNodeName(amp rc,
                                         targetNode,
                                         targetNodeName,
                                         initialStringBufferLength);
   /*debe comprobar ahora el código de retorno de los valores no previstos*/
   /*si el código de retorno es CCI_BUFFER_TOO_SMALL cambie el tamaño y vuelva a intentarlo*/

}
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

as35930_