2.2.5.1 ActionBlock Structure

The ActionBlock structure has the following format for standard rules. The format for extended rules is the same except that the size of the ActionLength field is 4 bytes instead of 2 bytes.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

ActionLength

ActionType

ActionFlavor

...

ActionFlags

...

ActionData (variable)

...

ActionLength (2 bytes): An integer that specifies the cumulative length, in bytes, of the subsequent fields in this ActionBlock structure. For extended rules, the size of the ActionLength field is 4 bytes instead of 2 bytes.

ActionType (1 byte): An integer that specifies the type of action (2). The valid actions (2) are listed in the following table.

Action name

Value

Meaning

OP_MOVE

0x01

Moves the message to a folder. MUST NOT be used in a public folder rule (2).

OP_COPY

0x02

Copies the message to a folder. MUST NOT be used in a public folder rule (2).

OP_REPLY

0x03

Replies to the message.

OP_OOF_REPLY

0x04

Sends an OOF reply to the message.

OP_DEFER_ACTION

0x05

Used for actions (2) that cannot be executed by the server (like playing a sound). MUST NOT be used in a public folder rule (2).

OP_BOUNCE

0x06

Rejects the message back to the sender.

OP_FORWARD

0x07

Forwards the message to a recipient (2) address.

OP_DELEGATE

0x08

Resends the message to another recipient (2), who acts as a delegate.

OP_TAG

0x09

Adds or changes a property on the message.

OP_DELETE

0x0A

Deletes the message.

OP_MARK_AS_READ

0x0B

Sets the MSGFLAG_READ flag in the PidTagMessageFlags property ([MS-OXCMSG] section 2.2.1.6) on the message.

ActionFlavor (4 bytes): The flags that are associated with a particular type of action (2). The flags MUST be used in conjunction with the type of action (2) that supports them and MUST be zero otherwise. For more details see section 2.2.5.1.1.

ActionFlags (4 bytes): Client-defined flags. The ActionFlags field is used solely by the client.<4> It is not used by the server but stored only.

ActionData (variable): An ActionData structure, as specified in section 2.2.5.1.2, that specifies data related to the particular action (2).