cciInputMessageCallback

Esta es una función que se puede registrar como una devolución de llamada y se invoca cada vez que un nodo de entrada lee un mensaje y antes de que el mensaje se propague en sentido descendente por el flujo de mensajes. Se invoca para cada mensaje de entra que se lee en el grupo de ejecución en el que se ha registrado la devolución de llamada, si el estado de la salida de usuario está activo. La devolución de llamada se registra proporcionando un puntero a la función como el campo iFpInputMessageCallback de la estructura CCI_UE_VFT que se ha pasado a cciRegisterUserExit.

Sintaxis

typedef void (*cciInputMessageCallback)     (
                                 CciDataContext*  userContext,
                                 CciMessage*  message,
                                 CciMessage*      localEnvironment,
                                 CciMessage* exceptionList,
                                 CciMessage*      environment,
                                 CciMessageOrigin messageOrigin,
                                 CciNode*         inputNode);

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. El código de la salida de usuario no debe actualizar este árbol.
localEnvironment
Este es un manejador para el objeto de entorno local.
exceptionList
Este es un manejador para el objeto de lista de excepción.
environment
Este un manejador para el objeto de entorno para el flujo de mensajes actual.
messageOrigin
Dependiendo del tipo de nodo de entrada, es posible que el mensaje se origine a partir de una corriente de bits (CCI_MESSAGE_ORIGIN_BITSTREAM) o de un árbol (CCI_MESSAGE_ORIGIN_TREE). Por lo tanto, la salida de usuario puede acceder a uno de ellos sin que el analizador tenga que realizar procesos. Por ejemplo, en el caso de MQInputNode, puede acceder sin problemas a la corriente de bits, mientas que en el caso del nodo de entrada JMS puede acceder sin problemas al árbol. Se puede acceder a la corriente de bits invocando cniBufferPointer, cniBufferSize o cniBufferByte. Se puede acceder al árbol invocando cniRootElement y utilizando las funciones de navegación habituales de los elementos de sintaxis (por ejemplo, cniFirstChild ).
Nota: Aunque este parámetro recomienda a la salida de usuario lo que puede hacer para acceder con seguridad y no activar procesos del analizador, es posible que el código de salida de usuario ignore esta recomendación y altere de hecho la temporización del analizador.
inputNode
Este es un manejador para el nodo de entrada que lee este mensaje de entrada. Se puede utilizar para realizar llamadas a funciones como, por ejemplo, cciGetNodeName, cciGetNodeType y cniGetBrokerInfo.

Valores de retorno

Ninguno.

Ejemplo

void myInputMessageCallback(
                      CciDataContext*  userContext,
                      CciMessage*  message,
                      CciMessage*      localEnvironment,
                      CciMessage* exceptionList,
                      CciMessage*      environment,
                      CciMessageOrigin messageOrigin,
                      CciNode*         inputNode){
…
…
}
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
as35950_