Returns the number of elements successfully extracted, or '-1' on an error.
#include <hmq.h> #include <hmqHelper.h> MQEINT32 MQeFieldsGetShortArray( MQEHSESS hSess, MQEHFIELDS hFlds, MQECHAR * pName, MQEINT16 * pData, MQEINT32 srcOff, MQEINT32 n, MQEINT32 * pCompCode, MQEINT32 * pReason) MQEINT32 MQeFieldsGetIntArray( MQEHSESS hSess, MQEHFIELDS hFlds, MQECHAR * pName, MQEINT32 * pData, MQEINT32 srcOff, MQEINT32 n, MQEINT32 * pCompCode, MQEINT32 * pReason) MQEINT32 MQeFieldsGetLongArray( MQEHSESS hSess, MQEHFIELDS hFlds, MQECHAR * pName, MQEINT64 * pData, MQEINT32 srcOff, MQEINT32 n, MQEINT32 * pCompCode, MQEINT32 * pReason) MQEINT32 MQeFieldsGetFloatArray( MQEHSESS hSess, MQEHFIELDS hFlds, MQECHAR * pName, MQEFLOAT * pData, MQEINT32 srcOff, MQEINT32 n, MQEINT32 * pCompCode, MQEINT32 * pReason) MQEINT32 MQeFieldsGetDoubleArray( MQEHSESS hSess, MQEHFIELDS hFlds, MQECHAR * pName, MQEDOUBLE * pData, MQEINT32 srcOff, MQEINT32 n, 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; MQEINT16 shorts[2]; MQEINT16* gotShorts; MQEINT32 ints[3]; MQEINT32* gotInts; MQEINT64 longs[2]; MQEINT64* gotLongs; MQEINT32 rc; MQEINT32 length; #define NULL 0 hSess = MQeInitialize("MyAppsName", &compcode, &reason); hFlds = MQeFieldsAlloc( hSess, FieldsType, &compcode, &reason); shorts[0]= 32000; shorts[1]= 32020; MQeFieldsPutArray( hSess, hFlds, "sh", MQE_TYPE_SHORT, &shorts[0], 2, &compcode, &reason); ints[0] = 2000100000; ints[1] = 2000020000; ints[2] = 2000003000; MQeFieldsPutArray( hSess, hFlds, "int", MQE_TYPE_INT, &ints[0], 3, &compcode, &reason); longs[0].hi = 265; longs[0].lo = 2000000000; longs[1].hi = 2000000000; longs[1].lo = 255; MQeFieldsPutArray( hSess, hFlds, "lg", MQE_TYPE_LONG, &longs[0], 2, &compcode, &reason); /* Get the data */ length = MQeFieldsGetShortArray ( hSess, hFlds, "sh", NULL, 0, 0, &compcode, &reason ); gotShorts = malloc(length * MQE_SIZEOF ( MQE_TYPE_SHORT )); MQeFieldsGetShortArray ( hSess, hFlds, "sh", gotShorts, 0, length, &compcode, &reason ); length = MQeFieldsGetIntArray ( hSess, hFlds, "int", NULL, 0, 0, &compcode, &reason ); gotInts = malloc(length * MQE_SIZEOF ( MQE_TYPE_INT )); MQeFieldsGetIntArray ( hSess, hFlds, "int", gotInts, 0, length, &compcode, &reason ); length = MQeFieldsGetLongArray ( hSess, hFlds, "lg", NULL, 0, NULL, &compcode, &reason ); gotLongs = malloc(length * MQE_SIZEOF ( MQE_TYPE_LONG )); MQeFieldsGetLongArray ( hSess, hFlds, "lg", gotLongs, 0, length, &compcode, &reason );