The message to be decoded is supplied by either a dequeue context or a caller-supplied input routine. When using a dequeue context, observe the following points:
Specify MTA_DECODE_DQ for the input_type call argument.
Pass the dequeue context from mtaDequeueStart() as the input argument.
The recipient list of the message being dequeued must have already been read by mtaDequeueRecipientNext() before calling mtaDecodeMessage().
mtaDequeueMessageFinish() must not yet have been called for the dequeue context.
After using a dequeue context with mtaDecodeMessage(), no further calls to mtaDequeueRecipientNext() can be made.
Calls to mtaDequeueLineNext() can only be performed after a call to mtaDequeueRewind().