mqInquireByteStringFilter
The mqInquireByteStringFilter call requests the value and operator of a byte string filter item that is present in the bag. The data item can be a user item or a system item.
Syntax for mqInquireByteStringFilter
- mqInquireByteStringFilter (Bag, Selector, ItemIndex, Bufferlength, Buffer, ByteStringLength, Operator, CompCode, Reason)
Parameters for mqInquireByteStringFilter
- Bag (MQHBAG) - input
- Handle of the bag to which the inquiry relates. The bag can be a user bag or a system bag.
- Selector (MQLONG) - input
- Selector of the item to which the inquiry relates.
If the selector is less than zero (that is, a system selector), the selector must be one that is supported by the MQAI; MQRC_SELECTOR_NOT_SUPPORTED results if it is not.
The specified selector must be present in the bag; MQRC_SELECTOR_NOT_PRESENT results if it is not.
The data type of the item must be the same as the data type implied by the call; MQRC_SELECTOR_WRONG_TYPE results if it is not.
The following special values can be specified for Selector:- MQSEL_ANY_SELECTOR
- The item to be inquired about is a user or system item identified by ItemIndex.
- MQSEL_ANY_USER_SELECTOR
- The item to be inquired about is a user item identified by ItemIndex.
- MQSEL_ANY_SYSTEM_SELECTOR
- The item to be inquired about is a system item identified by ItemIndex.
- ItemIndex (MQLONG) - input
- Index of the data item to which the inquiry relates. The value must be zero or greater, or the
special value MQIND_NONE. If the value is less than zero and not MQIND_NONE, MQRC_INDEX_ERROR
results. If the item is not already present in the bag, MQRC_INDEX_NOT_PRESENT results. The
following special value can be specified:
- MQIND_NONE
- This specifies that there must be one occurrence only of the selector in the bag. If there is
more than one occurrence, MQRC_SELECTOR_NOT_UNIQUE results.
If MQSEL_ANY_SELECTOR is specified for the Selector parameter, ItemIndex is the index relative to the set of items that contains both user items and system items, and must be zero or greater.
If MQSEL_ANY_USER_SELECTOR is specified for the Selector parameter, ItemIndex is the index relative to the set of user items, and must be zero or greater.
If MQSEL_ANY_SYSTEM_SELECTOR is specified for Selector, ItemIndex is the index relative to the set of system items, and must be zero or greater.
If an explicit selector value is specified, ItemIndex is the index relative to the set of items that have that selector value, and can be MQIND_NONE, zero, or greater.
- BufferLength (MQLONG) - input
- Length in bytes of the buffer to receive the condition byte string. Zero is a valid value.
- Buffer (MQBYTE x BufferLength) - output
- Buffer to receive the condition byte string. The length is given by the
BufferLength parameter. If zero is specified for
BufferLength, the null pointer can be specified for the address of the
Buffer parameter; in all other cases, a valid (non-null) address must be
specified for the Buffer parameter.
The string is padded with blanks to the length of the buffer; the string is not null-terminated. If the string is longer than the buffer, the string is truncated to fit; in this case ByteStringLength indicates the size of the buffer needed to accommodate the string without truncation.
- ByteStringLength (MQLONG) - output
- The length in bytes of the condition string contained in the bag. If the Buffer parameter is too small, the length of the string returned is less than StringLength.
- Operator (MQLONG) - output
- Byte string filter operator in the bag.
- CompCode (MQLONG) - output
- Completion code.
- Reason (MQLONG) - output
- Reason code qualifying CompCode.
The
following reason codes indicating error and warning conditions can be returned from the
mqInquireByteStringFilter call:
- MQRC_BUFFER_ERROR
- Buffer parameter not valid (invalid parameter address or buffer not completely accessible).
- MQRC_BUFFER_LENGTH_ERROR
- Buffer length not valid.
- MQRC_FILTER_OPERATOR_ERROR
- Filter operator not valid.
- MQRC_HBAG_ERROR
- Bag handle not valid.
- MQRC_INDEX_ERROR
- Index not valid (index negative and not MQIND_NONE, or MQIND_NONE specified with one of the MQSEL_ANY_xxx_SELECTOR values).
- MQRC_INDEX_NOT_PRESENT
- No item with the specified index is present within the bag for the selector given.
- MQRC_SELECTOR_NOT_PRESENT
- No item with the specified selector is present within the bag.
- MQRC_SELECTOR_NOT_SUPPORTED
- Specified system selector not supported by the MQAI.
- MQRC_SELECTOR_NOT_UNIQUE
- MQIND_NONE specified when more than one occurrence of the specified selector is present in the bag.
- MQRC_SELECTOR_OUT_OF_RANGE
- Selector not within valid range for call.
- MQRC_SELECTOR_WRONG_TYPE
- Data item has wrong data type for call.
- MQRC_STORAGE_NOT_AVAILABLE
- Insufficient storage available.
- MQRC_STRING_LENGTH_ERROR
- ByteStringLength parameter not valid (invalid parameter address).
- MQRC_STRING_TRUNCATED
- Data too long for output buffer and has been truncated.
C language invocation for mqInquireByteStringFilter
mqInquireByteStringFilter (Bag, Selector, ItemIndex, BufferLength, Buffer, &ByteStringLength, &Operator, &CompCode, &Reason);Declare the parameters as follows:
MQHBAG Bag; /* Bag handle */ MQLONG Selector; /* Selector */ MQLONG ItemIndex; /* Item index */ MQLONG BufferLength; /* Buffer length */ PMQBYTE Buffer; /* Buffer to contain string */ MQLONG ByteStringLength; /* Length of string returned */ MQLONG Operator /* Item operator */ PMQLONG CompCode; /* Completion code */ PMQLONG Reason; /* Reason code qualifying CompCode */
Visual Basic invocation for mqInquireByteStringFilter
(Supported on Windows only.)
mqInquireByteStringFilter Bag, Selector, ItemIndex, BufferLength, Buffer, ByteStringLength, Operator, CompCode, ReasonDeclare the parameters as follows:
Dim Bag As Long 'Bag handle' Dim Selector As Long 'Selector' Dim ItemIndex As Long 'Item index' Dim BufferLength As Long 'Buffer length' Dim Buffer As String 'Buffer to contain string' Dim ByteStringLength As Long 'Length of byte string returned' Dim Operator As Long 'Operator' Dim CompCode As Long 'Completion code' Dim Reason As Long 'Reason code qualifying CompCode'Parent topic: MQAI calls