cciRegisterUserExit es una función de utilidad que puede llamarse mediante el código de usuario cuando se invoca bipInitializeUserExits.
Esta función se invoca mediante el código de usuario si el usuario desea registrar las funciones que se llamarán cada vez que se produzcan sucesos determinados.
typedef struct cci_UEVft {
int reserved;
char StrucId[4];
int Version;
cciInputMessageCallback iFpInputMessageCallback;
cciTransactionEventCallback iFpTransactionEventCallback;
cciPropagatedMessageCallback iFpPropagatedMessageCallback;
cciNodeCompletionCallback iFpNodeCompletionCallback;
cciOutputMessageCallback iFpOutputMessageCallback;
} CCI_UE_VFT;
void cciRegisterUserExit (
int* returnCode,
CciChar* name,
CciDataContext* userContext,
CCI_UE_VFT* functionTable);
El nombre especificado coincide con el nombre de una salida de usuario registrada anteriormente en el grupo de ejecución actual.
El nombre especificado no es válido. Esto puede ser debido a que se ha especificado un puntero nulo, una serie vacía o una serie que contiene caracteres que no son alfanuméricos.
Inicialice la estructura utilizando la definición CCI_UE_VFT_DEFAULT, que establece la versión como CCI_UE_VFT_CURRENT_VERSION. cciOutputMessageCallback se ha añadido en la versión 2, CCI_UE_VFT_VERSION_2.
Ninguno. Si se produce un error, el parámetro returnCode indica la razón del mismo.
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;
myVft.iFpOutputMessageCallback = myOutputMessageCallback;
cciRegisterUserExit(&rc,
MyConstants::myUserExitName,
0,
&myVft);
/*debe comprobar ahora el código de retorno de los valores no previstos*/
return;
}
}/*fin de extern "C" */