Inicio del cambio

cciPropagatedMessageCallback

Ésta es una función que se puede registrar como una devolución de llamada y se invoca cuando un mensaje se propaga de un nodo a otro. Se invoca para todos los mensajes propagados dentro del grupo de ejecución en el que se registró la devolución de llamada, si el estado de la rutina de salida de usuario es activo. La devolución de llamada se registra proporcionando un puntero a la función al pasar el campo iFpPropagatedMessageCallback de la estructura CCI_UE_VFT a cciRegisterUserExit.

Sintaxis

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

Parámetros

userContext (entrada)
Éste es el valor pasado a la función cciRegisterUserExit.
message
Éste es un manejador para el objeto de mensaje que se está propagando. El código de rutina de salida de usuario no debe actualizar este árbol.
localEnvironment
Éste es un manejador para el objeto de entorno local que se está propagando.
exceptionList
Éste es un manejador para el objeto de lista de excepción que se está propagando.
environment
Éste es un manejador para el objeto de entorno del flujo de mensajes actual.
connection
Éste es un manejador para el objeto de conexión entre los dos nodos. Se puede utilizar, por ejemplo, en llamadas a cciGetSourceNode, cciGetTargetNode, cciGetSourceTerminalName y cciGetTargetTerminalName. Este manejador sólo es válido para la duración de esta invocación de la función de salida 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);
/*you should now check the rc for unexpected values*/
/*if rc is CCI_BUFFER_TOO_SMALL then you should resize and retry*/
}
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 04/05/2006
as35930_


Fin del cambio