cciRegisterUserExit é uma função de utilitário que pode ser chamada pelo código do usuário quando bipInitializeUserExits é chamado.
Esta função é chamada pelo código do usuário se o usuário desejar registrar funções a serem chamadas toda vez que determinados eventos ocorrerem.
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);
O nome especificado corresponde ao nome de uma saída de usuário anteriormente registrada no grupo de execução atual.
O nome especificado era inválido. Isto pode ser causado se um ponteiro NULO, cadeia vazia ou uma cadeia contendo caracteres não-alfanuméricos foi especificada.
Inicialize a estrutura utilizando o CCI_UE_VFT_DEFAULT de definição, que configura a versão como CCI_UE_VFT_CURRENT_VERSION. cciOutputMessageCallback foi incluído na versão 2, CCI_UE_VFT_VERSION_2.
Nenhum Se ocorrer um erro, o parâmetro returnCode indica o motivo do erro.
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);
/* agora verifique o rc a procura de valores inesperados*/
return;
}
}/* fim do "C" externo*/