cniPropagate

Propaga uma mensagem para um objeto de terminal especificado. Se o terminal não estiver conectado a outro nó por um conector, a mensagem não será propagada e a função será considerada como um no-op. Portanto, não é necessário verificar se o terminal está conectado antes de propagar a mensagem, a menos que a ação que o nó executa fosse diferente (nesse caso você pode utilizar cniIsTerminalAttached para verificar se o terminal está conectado).

Sintaxe

int cniPropagate(
    int*            returnCode,
    CciTerminal*  terminalObject,
    CciMessage* destinationList,        
    CciMessage* exceptionList,          
    CciMessage*        message);

Parâmetros

returnCode
O código de retorno da função (saída).
Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_TERMINAL_OBJECT
  • CCI_INV_MESSAGE_OBJECT
terminalObject
O endereço do terminal de saída que deve receber a mensagem (entrada). O endereço é retornado por cniCreateOutputTerminal.
destinationList
O endereço do objeto de lista de destino a ser enviado com a mensagem (entrada).

Esse objeto de mensagem é utilizado pelo nó de Publicação/Assinatura fornecido pelo intermediário de mensagens.

exceptionList
O endereço da lista de exceção para a mensagem (entrada).
message
O endereço do objeto de mensagem a ser enviado (entrada). Se a mensagem que está sendo enviada for o mesmo da mensagem de entrada, este endereço é o que é transmitido na função de implementação cniEvaluate.

Valores de Retorno

Se bem-sucedida, CCI_SUCCESS é retornado. Caso contrário, CCI_FAILURE é retornado e o parâmetro returnCode indica a razão do erro.

Exemplo

  if (terminalObject) {
        if (cniIsTerminalAttached(&rc, terminalObject)) {
            if (rc == CCI_SUCCESS) {
                cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as07620_