cciPropagatedMessageCallback

Questa è una funzione che può essere registrata come callback e viene richiamata ogni qualvolta un messaggio viene propagato da un nodo a un altro. Viene richiamata per ogni messaggio propagato nel gruppo di esecuzione in cui è stata registrata la callback, se lo stato dell'uscita utente è attivo. La callback viene registrata fornendo un puntatore alla funzione come il campo iFpPropagatedMessageCallback della struttura CCI_UE_VFT passata a cciRegisterUserExit.

Sintassi

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

Parametri

userContext (input)
Questo è il valore passato alla funzione cciRegisterUserExit.
message
Questo è un handle all'oggetto del messaggio che si sta propagando. Il codice dell'uscita utente non deve aggiornare questa struttura ad albero.
localEnvironment
Questo è un handle all'oggetto dell'ambiente locale che si sta propagando.
exceptionList
Questo è un handle all'oggetto dell'elenco di eccezioni che si sta propagando.
environment
Questo è un handle all'oggetto di ambiente per il flusso di messaggio corrente.
connection
Questo è un handle all'oggetto di connessione tra due nodi. Può essere utilizzato, ad esempio, in chiamate a cciGetSourceNode, cciGetTargetNode, cciGetSourceTerminalName e cciGetTargetTerminalName. Tale handle è valido solo per la durata di questo richiamo della funzione di uscita utente.

Valori di restituzione

Nessuno.

Esempio

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);
   /*Controllare ora i valori imprevisti nell'rc*/
   /*se rc è CCI_BUFFER_TOO_SMALL ridimensionarlo e riprovare*/

}
Concetti correlati
Sviluppo di uscite utente
Attività correlate
Sviluppo di un'uscita utente
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as35930_