cciNodeCompletionCallback

Esta é uma função que pode ser registrada como um retorno de chamada, é chamada sempre que um nó concluir o processamento de uma mensagem e está retornando o controle para seu nó upstream. 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 iFpNodeCompletionCallback da estrutura CCI_UE_VFT transmitida para cciRegisterUserExit.

Se o nó foi concluído devido a uma exceção não manipulada, ele é retornado com um reasonCode de CCI_EXCEPTION, e os detalhes de exceção podem ser obtidos pela chamada de cciGetLastExceptionData.

Se o nó foi concluído normalmente (incluindo a manipulação de uma exceção no terminal de captura ou de falha), ele é retornado com um reasonCode de CCI_SUCCESS.
Nota: Nesse caso, a chamada de cciGetLastExceptionData retorna resultados imprevisíveis.

Sintaxe

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

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.
reasonCode
Indica se o nó foi concluído normalmente (CCI_SUCCESS) ou se o nó foi concluído devido a uma exceção não manipulada (CCI_EXCEPTION). Se o nó foi concluído devido a uma exceção não manipulada, os detalhes da exceção podem ser obtidos pela chamada de cciGetLastExceptionData. Se o nó foi concluído normalmente (incluindo a manipulação de uma exceção no terminal de captura ou de falha), o efeito da chamada de cciGetLastExceptionData é indeterminado.

Valores de Retorno

Nenhum.

Exemplo

void myNodeCompletionCallback(
                                 CciDataContext* userContext,
                                 CciMessage*        message,
                                 CciMessage* localEnvironment,
                                 CciMessage* exceptionList,
                                 CciMessage* environment,
                                 CciConnection* connection
                                 int reasonCode){
…
…
}
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
as35940_