Esta es una función de programa de utilidad que el código de usuario puede llamar durante la invocación de bipInitializeUserExits. El código de usuario la invoca si el usuario desea registrar funciones para que se invoquen cada vez que se produzcan determinados sucesos.
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);
El nombre especificado coincide con el nombre de una rutina de salida de usuario que se ha registrado anteriormente en el grupo de ejecución actual.
El nombre especificado no es válido. Esto puede deberse a que se ha especificado un puntero NULO, una serie de caracteres vacía o una serie de caracteres que contiene caracteres no alfanuméricos.
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; cciRegisterUserExit(&rc, MyConstants::myUserExitName, 0, &myVft); /*you should now check the rc for unexpected values*/ return; } }/*end of extern "C" */