A função cciGetNodeAttribute retorna o valor do atributo especificado.
CciSize cciGetNodeAttribute (int* returnCode,
CciNode* node,
CciChar* name,
CciChar* value,
CciSize length);
O buffer fornecido não era grande o suficiente para conter o valor do tipo de nó.
void myPropagatedMessageCallback(
CciMessage* message,
CciMessage* localEnvironment,
CciMessage* exceptionList,
CciMessage* environment,
CciConnection* connection){
int rc = CCI_SUCCESS;
CciNode* sourceNode = cciGetSourceNode(&rc,
connection);
/* agora verifique o rc a procura de valores inesperados*/
CciChar queueNameAttribute[16];
cciMbsToUcs(&rc,
"queueName",
queueNameAttribute,
16,
BIP_DEF_COMP_CCSID);
/* agora verifique o rc a procura de valores inesperados*/
CciChar queueName [512];
sourceNodeQueueNameLength = cciGetNodeType(&rc,
sourceNode,
queueName,
512);
/* agora verifique o rc a procura de valores inesperados*/
/*se rc for CCI_BUFFER_TOO_SMALL, redimensione e tente novamente*/
/*sourceNodeQueueNameLength manterá o tamanho real ou o exigido */