cciRegisterUserExit

Questa è una funzione di utilità, che è possibile richiamare tramite il codice utente durante il richiamo di bipInitializeUserExits. Essa viene richiamata dal codice utente se l'utente desidera registrare delle funzioni da chiamare ogni volta che si verificano determinati eventi.

Sintassi

typedef struct cci_UEVft {
    int     reserved;
    char    StrucId[4];
    int     Version;
    cciInputMessageCallback      iFpInputMessageCallback;
    cciTransactionEventCallback  iFpTransactionEventCallback;
    cciPropagatedMessageCallback iFpPropagatedMessageCallback;
    cciNodeCompletionCallback    iFpNodeCompletionCallback;

} CCI_UE_VFT;

void cciRegisterUserExit (
  int*      returnCode,
  CciChar*     name,
  CciDataContext* userContext,
  CCI_UE_VFT*                      functionTable);

Parametri

returnCode (output)
Richiede il codice di ritorno dalla funzione. I valori possibili sono:
  • CCI_DUP_USER_EXIT_NAME

    Il nome specificato corrisponde al nome di un'uscita utente precedentemente registrata nel gruppo di esecuzione corrente.

  • CCI_INV_USER_EXIT_NAME

    Il nome specificato non era valido. Tale situazione può verificarsi se si specifica un puntatore NULL, una stringa vuota o una stringa contenente caratteri non alfanumerici.

Name (input)
Deve contenere un puntatore a una stringa con terminazione non NULL di CciChars che specifica un nome per l'uscita utente. Il nome deve essere univoco su tutte le uscite utente che è possibile installare sullo stesso broker. Tale nome viene utilizzato per identificare l'uscita utente nei seguenti contesti, ad esempio:
  • Messaggi della traccia utente
  • Eccezioni o messaggi syslog
  • Comandi di gestione (ad esempio, mqsichangeflowuserexits)
Il nome ha le seguenti limitazioni:
  • Deve essere composto unicamente da caratteri alfanumerici.
  • Non deve essere maggiore di 255 caratteri.
  • Il nome deve essere univoco su tutte le uscite utente che è possibile installare sullo stesso broker.
userContext (input)
Consente a chi esegue la chiamata di fornire un puntatore del contesto che viene passato alla funzione callback quando questa viene richiamata. Questo parametro può essere NULL.
functionTable (input)
Questo è un puntatore a una struttura i cui campi devono contenere puntatori a funzioni che corrispondano alle firme corrette o che contengano NULL. Un valore NULL per uno di tali campi indica che l'uscita utente non deve essere richiamata per tale evento.

Valori di restituzione

Nessuno. Se si verifica un errore, il parametro returnCode indica il motivo dell'errore.

Esempio

extern "C"{

void bipInitializeUserExits(){

  	int rc = CCI_SUCCESS;
  CCI_UE_VFT myVft = {CCI_UE_VFT_DEFAULT};
  myVft.iFpInputMessageCallback      = myInputMessageCallback;
  myVft.iFpTransactionEventCallback  = myTransactionEventCallback;
  myVft.iFpPropagatedMessageCallback = myPropagatedMessageCallback;
  myVft.iFpNodeCompletionCallback    = myNodeCompletionCallback;
  
  cciRegisterUserExit(&rc,
                      MyConstants::myUserExitName,
                      0,
                      &myVft);

  /*Controllare ora i valori imprevisti nell'rc*/
  
  return;
}

}/*fine di "C" esterno */
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
as35920_