cciPropagatedMessageCallback

A função cciPropagatedMessageCallback pode ser registrada como um retorno de chamada e é chamada sempre que uma mensagem é propagada de um nó para outro.

A função cciPropagatedMessageCallback é chamada para cada mensagem que é propagada no grupo de execução no qual o retorno de chamada foi registrado, se o estado de saída de usuário estiver 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)
O valor transmitido para a função cciRegisterUserExit.
message
Um identificador para o objeto de mensagem que está sendo propagado. O código de saída de usuário não deve atualizar esta árvore.
localEnvironment
Um identificador para o objeto do ambiente local que está sendo propagado.
exceptionList
Um identificador para o objeto da lista de exceções que está sendo propagado.
environment
Um identificador para o objeto de ambiente para o fluxo de mensagens atual.
connection
Um identificador para o objeto de conexão entre os dois nós. O identificador pode ser utilizado, por exemplo, em chamadas para cciGetSourceNode, cciGetTargetNode, cciGetSourceTerminalName e cciGetTargetTerminalName. Esta manipulação é válida apenas pela duração desta instância 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
Saídas de usuário
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:13:13

as35930_