#include <hmq.h> #include <hmqHelper.h> MQEINT32 MQeFieldsPutArrayLength( MQEHSESS hSess, MQEHFIELDS hFlds, MQECHAR * pName, MQEINT32 nElements, MQEINT32 * pCompCode, MQEINT32 * pReason)
#include <hmq.h> #include <hmqHelper.h> static MQECHAR const * FieldsType = "com.ibm.mqe.MQeFields"; MQEHSESS hSess; MQEINT32 compcode; MQEINT32 reason; MQEHFIELDS hFlds; MQEINT32 n, data0, data1; MQEINT32 * pData; MQEINT32 rc; hSess = MQeInitialize("MyAppsName", &compcode, &reason); hFlds = MQeFieldsAlloc( hSess, FieldsType, &compcode, &reason); /* Manual construction of an /*integer array (vector) with two elements) */ data0 = 0x12345678; data1 = 0xBEEFDEAD; MQeFieldsPut( hSess, hFlds, "foo:0", MQE_TYPE_INT, &data0, 1, &compcode, &reason); MQeFieldsPut( hSess, hFlds, "foo:1", MQE_TYPE_INT, &data1, 1, &compcode, &reason); MQeFieldsPutArrayLength( hSess, hFlds, "foo", 2, &compcode, &reason); /* Get the data length */ n = MQeFieldsGetArrayLength( hSess, hFlds, "foo", &compcode, &reason ); pData = malloc(n * MQE_SIZEOF (MQE_TYPE_INT)); /* Get back the data */ rc = MQeFieldsGetIntArray( hSess, hFlds, "foo", pData, 0, n, &compcode, &reason );