cciPropagatedMessageCallback

Esta es una función que se puede registrar como una devolución de llamada y se invoca cuando se propaga un mensaje de un nodo a otro. 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 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)
Este es el valor que se ha pasado a la funcióncciRegisterUserExit.
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. 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
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
as35930_