A função cciNodeCompletionCallback pode ser registrada como um retorno de chamada e é chamada sempre que um nó conclui o processamento de uma mensagem e está retornando o controle para seu nó de envio de dados.
A função cciNodeCompletionCallback é chamada para cada mensagem propagada no grupo de execução onde o retorno de chamada foi registrado, se o estado de saída do usuário estiver 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ó for concluído devido a uma exceção não-manipulada, ele retornará com um reasonCode CCI_EXCEPTION e os detalhes dessa exceção poderão ser obtidos chamando cciGetLastExceptionData.
Se o nó for concluído normalmente (incluindo a manipulação de uma exceção no terminal de captura ou de falha), ele retornará com um reasonCode de CCI_SUCCESS. Nesse caso, a chamada de cciGetLastExceptionData retorna resultados imprevisíveis.
typedef void (*cciNodeCompletionCallback) (
CciDataContext* userContext,
CciMessage* message,
CciMessage* localEnvironment,
CciMessage* exceptionList,
CciMessage* environment,
CciConnection* connection,
int reasonCode);
O código de saída do usuário não deve atualizar cabeçalhos de transporte ou elementos de Propriedades na árvore de mensagens. A atualização da mensagem pode afetar o desempenho. As alterações feitas durante este retorno de chamada são visíveis apenas se o nó de envio de dados não causar a criação de uma nova Mensagem.
Nenhum.
void myNodeCompletionCallback(
CciDataContext* userContext,
CciMessage* message,
CciMessage* localEnvironment,
CciMessage* exceptionList,
CciMessage* environment,
CciConnection* connection
int reasonCode){
…
…
}