MQeFieldsGetArrayOfByte, MQeFieldsGetArrayOfShort, MQeFieldsGetArrayOfInt, MQeFieldsGetArrayOfLong, MQeFieldsGetArrayOfFloat, MQeFieldsGetArrayOfDouble

Description
Extracts the data from the MQeFields object as an array of 1, 2, 4, and 8-byte integers, floats and doubles.

Syntax
#include <hmq.h> 
#include <hmqHelper.h> 
MQEINT32 MQeFieldsGetArrayOfByte( MQEHSESS hSess, MQEHFIELDS hFlds, 
                 MQECHAR * pName, MQEVOID * pBytes, 
                 MQEINT32 n, MQEINT32 * pCompCode, 
                 MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetArrayOfShort( MQEHSESS hSess, MQEHFIELDS hFlds, 
                  MQECHAR * pName, MQEVOID * pShorts, 
                  MQEINT32 n, MQEINT32 * pCompCode, 
                  MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetArrayOfInt( MQEHSESS hSess, MQEHFIELDS hFlds, 
                 MQECHAR * pName, MQEVOID * pInts, 
                 MQEINT32 n, MQEINT32 * pCompCode, 
                 MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetArrayOfLong( MQEHSESS hSess, MQEHFIELDS hFlds, 
                 MQECHAR * pName, MQEVOID * pLongs, 
                 MQEINT32 n, MQEINT32 * pCompCode, 
                 MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetArrayOfFloat( MQEHSESS hSess, MQEHFIELDS hFlds, 
                  MQECHAR * pName, MQEVOID * pFloats, 
                  MQEINT32 n, MQEINT32 * pCompCode, 
                  MQEINT32 * pReason) 
 
MQEINT32 MQeFieldsGetArrayOfDouble( MQEHSESS hSess, MQEHFIELDS hFlds, 
                  MQECHAR * pName, MQEVOID * pDoubles, 
                  MQEINT32 n, MQEINT32 * pCompCode, 
                  MQEINT32 * pReason)

Parameters

MQEHSESS hSess - input
The session handle, returned by MQeInitialize.

MQEHFIELDS hFlds - input
A handle to an MQeFields object.

MQECHAR * pName - input
A null terminated string containing the name of the field. A null or a zero length string is invalid.

MQEVOID * pBytes - output
The returned byte value.

MQEVOID * pShorts - output
The returned short value.

MQEINT32 * pInts - output
The returned 4 byte integer value.

MQEVOID * pLongs - output
The returned 8 byte integer value.

MQEVOID * pFloats - output
The returned double value.

MQEVOID * pDoubles - output
The returned float value.

MQEINT32 n - input
The size of the input buffer, in elements of the corresponding call.

MQEINT32 * pCompCode - output
MQECC_OK, MQECC_WARNING or MQECC_ERROR.

MQEINT32 * pReason - output

Return Value

MQEINT32
  • On success, returns the number of elements in the array.
  • On failure, returns '-1'.

Example
#include <hmq.h>
#include <hmqHelper.h>
static MQECHAR const * FieldsType = 
			"com.ibm.mqe.MQeFields";
MQEHSESS   hSess;
MQEINT32   compcode;
MQEINT32   reason;
MQEHFIELDS hFlds;
MQEBYTE    bytes[5];
MQEINT16   shorts[2];
MQEINT32   ints[3];
MQEINT64   longs[2];
MQEINT32   rc;
 
hSess    = MQeInitialize("MyAppsName", 
									&compcode, &reason);
hFlds    = MQeFieldsAlloc( hSess, FieldsType, 
										&compcode, &reason);
bytes[0] = 0x30;
bytes[1] = 0x31;
bytes[2] = 0x32;
bytes[3] = 0x33;
bytes[4] = 0x34;
rc       = MQeFieldsPut( hSess, hFlds, "b",  
									MQE_TYPE_BYTE, bytes, 5, 
									&compcode, &reason); 
shorts[0]= 32000;
shorts[1]= 32020;
rc       = MQeFieldsPut( hSess, hFlds, "sh", 
									MQE_TYPE_SHORT, shorts, 2, 
									&compcode, &reason); 
ints[0]  = 2000100000;
ints[1]  = 2000020000;
ints[2]  = 2000003000;
rc       = MQeFieldsPut( hSess, hFlds, "int", 
									MQE_TYPE_INT, ints, 3, 
									&compcode, &reason); 
longs[0].hi = 265;
longs[0].lo = 2000000000;
longs[1].hi = 2000000000;
longs[1].lo = 255;
rc       = MQeFieldsPut( hSess, hFlds, "lg", 
									MQE_TYPE_LONG, longs, 2, 
									&compcode, &reason); 
 
memset(bytes , 0, sizeof(bytes));
memset(shorts, 0, sizeof(shorts));
memset(ints  , 0, sizeof(ints));
memset(longs , 0, sizeof(longs));
 
/* Get the data */
MQeFieldsGetArrayOfByte ( hSess, hFlds, "b", 
										bytes  , 5, 
										&compcode, &reason );
MQeFieldsGetArrayOfShort( hSess, hFlds, "sh", 
										shorts , 2, 
										&compcode, &reason );
MQeFieldsGetArrayOfInt  ( hSess, hFlds, "int", 
										ints, 3, 
										&compcode, &reason );
MQeFieldsGetArrayOfLong ( hSess, hFlds, "lg", 
										longs  , 2, 
										&compcode, &reason );

See Also


© IBM Corporation 2002. All Rights Reserved