mqAddByteStringFilter
The mqAddByteStringFilter call adds a byte string filter identified by a user selector to the end of a specified bag.
Syntax for mqAddByteStringFilter
- mqAddByteStringFilter (Bag, Selector, BufferLength, Buffer, Operator, CompCode, Reason)
Parameters for mqAddByteStringFilter
- Bag (MQHBAG) - input
- Handle of the bag to be modified.
This value must be the handle of a bag created by the user, not the handle of a system bag. MQRC_SYSTEM_BAG_NOT_ALTERABLE results if the value you specify relates to a system bag.
- Selector (MQLONG) - input
- Selector identifying the item to be added to the bag.
If the selector is less than zero (that is, a system selector), MQRC_SELECTOR_OUT_OF_RANGE results.
If the selector is zero or greater (that is, a user selector), and the bag was created with the MQCBO_CHECK_SELECTORS option or as an administration bag (MQCBO_ADMIN_BAG), the selector must be in the range MQBA_FIRST through MQBA_LAST. MQRC_SELECTOR_OUT_OF_RANGE results if it is not in the correct range.
If MQCBO_CHECK_SELECTORS was not specified, the selector can be any value zero or greater.
If the call is creating a second or later occurrence of a selector that is already in the bag, the data type of this occurrence must be the same as the data type of the first occurrence; MQRC_INCONSISTENT_ITEM_TYPE results if it is not.
- BufferLength (MQLONG) - input
- The length in bytes of the condition byte string contained in the Buffer parameter. The value must be zero or greater.
- Buffer (MQBYTE x BufferLength) - input
- Buffer containing 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 (nonnull) address must be specified for the Buffer parameter.
- Operator (MQLONG) - input
- The byte string filter operator to be placed in the bag. Valid operators are of the form MQCFOP_*.
- CompCode (MQLONG) - output
- Completion code.
- Reason (MQLONG) - output
- Reason code qualifying CompCode.
The
following reason codes indicating error conditions can be returned from the mqAddByteStringFilter call:
- MQRC_BUFFER_ERROR
- Buffer parameter not valid (invalid parameter address or buffer not 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_INCONSISTENT_ITEM_TYPE
- Data type of this occurrence of selector differs from data type of first occurrence.
- MQRC_SELECTOR_OUT_OF_RANGE
- Selector not within valid range for call.
- MQRC_STORAGE_NOT_AVAILABLE
- Insufficient storage available.
- MQRC_SYSTEM_BAG_NOT_ALTERABLE
- System bag cannot be altered or deleted.
Usage notes for mqAddByteStringFilter
- If a data item with the specified selector is already present in the bag, an additional instance of that selector is added to the end of the bag. The new instance is not necessarily adjacent to the existing instance.
- This call cannot be used to add a system selector to a bag.
C language invocation for mqAddByteStringFilter
mqAddByteStringFilter (hBag, Selector, BufferLength, Buffer, Operator, &CompCode, &Reason);Declare the parameters as follows:
MQHBAG hBag; /* Bag handle */ MQLONG Selector; /* Selector */ MQLONG BufferLength; /* Buffer length */ PMQBYTE Buffer /* Buffer containing item value */ MQLONG Operator /* Operator */ PMQLONG CompCode; /* Completion code */ PMQLONG Reason; /* Reason code qualifying CompCode */
Visual Basic invocation for mqAddByteStringFilter
(Supported on Windows only.)
mqAddByteStringFilter Bag, Selector, BufferLength, Buffer, Operator, CompCode, ReasonDeclare the parameters as follows:
Dim Bag As Long 'Bag handle' Dim Selector As Long 'Selector' Dim BufferLength As Long 'Buffer length' Dim Buffer As String 'Buffer containing item value' Dim Operator As Long 'Operator' Dim CompCode As Long 'Completion code' Dim Reason As Long 'Reason code qualifying CompCode'Parent topic: MQAI calls