cciPropagatedMessageCallback

Essa é uma função que pode ser registrada como um retorno de chamada e é chamada sempre que uma mensagem é propagada de um nó para outro. Ela é chamada para cada mensagem propagada dentro do grupo de execução em que o retorno de chamada foi registrado, se o estado de saída de usuário é ativo. O retorno de chamada é registrado fornecendo um ponteiro para a função como o campo iFpPropagatedMessageCallback da estrutura CCI_UE_VFT transmitida para cciRegisterUserExit.

Sintaxe

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

Parâmetros

userContext (entrada)
Este é o valor que foi transmitido para a função cciRegisterUserExit.
message
Esta é uma manipulação para o objeto de mensagem sendo propagado. O código de saída de usuário não deve atualizar essa árvore.
localEnvironment
Esta é uma manipulação para o objeto de ambiente local sendo propagado.
exceptionList
Esta é uma manipulação para o objeto de lista de exceções sendo propagado.
environment
Esta é uma manipulação para o objeto de ambiente para o fluxo de mensagens atual.
connection
Esta é uma manipulação para o objeto de conexão entre os dois nós. Ela pode ser utilizada, por exemplo, em chamadas de cciGetSourceNode, cciGetTargetNode, cciGetSourceTerminalName e cciGetTargetTerminalName. Esta manipulação é válida apenas durante essa chamada da função de saída de usuário.

Valores de Retorno

Nenhum.

Exemplo

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);
   /* agora verifique o rc a procura de valores inesperados*/
   /* se rc é CCI_BUFFER_TOO_SMALL você deve redimensionar e tentar novamente*/

}
Conceitos relacionados
Desenvolvendo Saídas do Usuário
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as35930_