Esta es una función de programa de utilidad que puede invocarse mediante el código de usuario cuando se invoca bipInitializeUserExits. Se invoca mediante el código de usuario si el usuario desea registrar las funciones que se invocará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; } 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.
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); /*debe comprobar ahora el código de retorno de los valores no previstos*/ return; } }/*fin de extern "C" */