ACTION

The ACTION structure contains one or more actions that are executed when a rule on a public folder is triggered.

Quick Info

Header file: EDKMDB.H

typedef struct
{
  ACTTYPE          cttype;
  ULONG            ulActionFlavor;
  LPSRestriction   lpRes;
  LPSPropTagArray  lpPropTagArray;
  ULONG            ulFlags;
  ULONG            dwAlignPad;
 
  union
  {
    struct
    {
      ULONG      cbStoreEntryId;
      LPENTRYID  lpStoreEntryId;
      ULONG      cbFldEntryId;
      LPENTRYID  lpFldEntryId;
    }  actMoveCopy;
 
    struct
    {
      ULONG      cbEntryId;
      LPENTRYID  lpEntryId;
      GUID       guidReplyTemplate;
    }  actReply;  

    struct
    {
      ULONG    cbData;
      BYTE  *  pbData;
    }  actDeferAction;
 
    SCODE       scBounceCode;
    LPADRLIST   lpadrlist;
    SPropValue  propTag;
  };
}  ACTION, FAR * LPACTION;
 

Members

acttype
The type of action:
OP_MOVE
Moves the message.
OP_COPY
Copies the message.
OP_REPLY
Replies to the message.
OP_OOF_REPLY
Sends an Out of Office reply to the message.
OP_DEFER_ACTION
Doesn’t do anything right now.
OP_BOUNCE
Rejects the message back to the sender.
OP_FORWARD
Forwards the message to another recipient.
OP_DELEGATE
Assigns the message to another recipient.
OP_TAG
Adds a property to the message.
OP_DELETE
Deletes the message.
OP_MARK_AS_READ
Marks the message as read.
ulActionFlavor
For acttype OP_REPLY, you can set:
DO_NOT_SEND_TO_ORIGINATOR
Does not send a copy of the message to the originator. Default.
lpRes
Action restriction. This member is unused and must be set to NULL.
lpPropTagArray
Properties to tag the message. This member is unused and must be set to NULL.
ulFlags
User-defined flags.
dwAlignPad
Padding to align the structure on an 8-byte (64 bit) boundary.

The next four members specify where the message or the copy of the message ends up when acttype is OP_MOVE or OP_COPY, respectively:

cbStoreEntryId
The number of bytes in the store entry identifier where the lpStoreEntryId member points.
lpStoreEntryId
The entry identifier of the store where the message is copied or moved.
cbFldEntryId
The number of bytes in the folder entry identifier where the lpFldEntryId member points.
lpFldEntryId
The entry identifier of the folder where the message is copied or moved.

The next three members specify the reply when acttype is OP_REPLY or OP_OOF_REPLY:

cbEntryId
The number of bytes in the entry identifier where the lpEntryId member points.
lpEntryId
The entry identifier.
guidReplyTemplate
The template of the reply.

The next two members specify the deferment action when acttype is OP_DEFER_ACTION:

cbData
The number of bytes in the pbData member.
pbData
A buffer of data that is sent to the client process to interpret.
scBounceCode
An error code to set when acttype is OP_BOUNCE:
BOUNCE_MESSAGE_SIZE_TOO_LARGE
The message was refused because it was too large.
BOUNCE_FORMS_MISMATCH
The form was refused because it was developed on an incompatible DLL.
BOUNCE_ACCESS_DENIED
The message was denied for unknown reasons.
lpadrlist
Points to an array of ADRLIST structures, which contain the addresses when acttype is OP_FORWARD or OP_DELEGATE.
propTag
Points to an SPropValue structure, which contains properties when acttype is OP_TAG.

Remarks

The IExchangeFolderRules::HrGet and IExchangeFolderRules::HrInsert methods both contain a parameter that points to an ACTIONS structure, which contains an array of pointers to ACTION structures.

For additional information on this structure, see Working with Rules. For information on the ADRLIST and SPropValue structures, see the MAPI Programmer’s Reference

See Also

ACTIONS