PMDF Programmer's Reference Manual
PMDF-PRM-6.0
Previous
| Contents
PMDF_dequeue_message_end
Remove a message from PMDF's message queues.
VMS FORMAT
status = PMDF_dequeue_message_end
(dq_context, defer, reason)
argument information
| Argument |
Data type |
Access |
Mechanism |
| dq_context |
context pointer |
read/write |
reference |
| defer |
boolean |
read |
value |
| reason |
descriptor |
read |
reference |
C FORMAT
status = PMDFdequeueMessageEnd
(dq_context, defer, reason, reason_len)
argument information
int PMDFdequeueMessageEnd (dq_context, defer, reason,
reason_len)
PMDF_dq **dq_context;
int defer;
char *reason;
int reason_len;
ARGUMENTS
dq_context
A message dequeue context created with PMDF_dequeue_initialize.
defer
When true (1), the message will be deferred for later processing.
reason
Optional text string describing why the message is being deferred. The
length of this string should not exceed BIGALFA_SIZE bytes.
reason_len
Length in bytes of reason.
DESCRIPTION
NOTE: Use of this routine with defer set to false (0)
requires that PMDF_recipient_disposition be called for each recipient
address obtained with PMDF_get_recipient. To finish processing a
message, call PMDF_dequeue_message_end. This will re-enqueue the
message if it requires deferred processing of some or all of its
recipients as well as generate any required notification messages
concerning the message. Specifically, if all recipient addresses have a
permanent disposition (PMDF_DISP_DELIVERED, _FAILED, _RELAYED,
_RELAYED_FOREIGN, or _RETURN) then any required notifications are
generated and the message is permanently removed from the processing
queue. If all recipients are to be deferred (PMDF_DISP_DEFERRED), then
no notifications are generated and the message is left in the queue for
later re-processing. If some recipients have a permanent disposition
while others were deferred, then
- Any required notifications are generated for those recipients with
permanent dispositions,
- A new message is enqueued for just those recipients who were
deferred, and
- The original message file is removed from the processing queue.
A message may be forcibly deferred, without regard to the dispositions
of the recipients, by passing a value of true (1) for the
defer argument. When a message is deferred, either
because defer is true or all recipients have a
deferred disposition, then the value supplied with the
reason argument will be placed in the message's
delivery failure log. If a zero length string is supplied for that
argument, then the deferral reason, if any, for the last deferred
recipient address will be used. Should the message be returned as an
undeliverable message by PMDF's message return system, a copy of the
log will be included with the returned message.
Return Values
| PMDF__OK |
Normal, successful completion. |
| PMDF__BADCONTEXT |
Illegal or corrupt context. Message not dequeued. |
Previous
| Next
| Contents