4.1 Sending a Task Request

Mary Kay Andersen assigns a task to her coworker, Paul West. The following is a description of what a client might do to accomplish Mary's intentions.

The client begins by obtaining property IDs from the server, as described in section 4. The property types specified in the following tables are described in [MS-OXCDATA] section 2.11.1.

To create the task request, the client uses the RopCreateMessage ROP ([MS-OXCROPS] section 2.2.6.2). The server returns a success code and a handle to a Message object. The client uses the RopSetProperties ROP ([MS-OXCROPS] section 2.2.8.6) to transmit Mary's data to the server.

Property

Property ID

Type

Value

PidTagMessageClass (section 2.2.3.3.1)

0x001A

0x001F (PtypString)

"IPM.TaskRequest"

PidTagIconIndex (section 2.2.3.3.2)

0x1080

0x0003 (PtypInteger32)

0xFFFFFFFF

PidLidTaskMode (section 2.2.2.2.1)

0x8212

0x0003 (PtypInteger32)

0x00000001

The client provides the actual Task object in an Embedded Message object. The protocol creates an Attachment object into which it will embed the Task object by using the RopCreateAttachment ROP ([MS-OXCROPS] section 2.2.6.13), which returns a handle to the new Attachment object. The client then uses this handle with the RopSetProperties ROP to set the PidTagAttachMethod property ([MS-OXPROPS] section 2.601) to afEmbeddedMessage (0x00000005).

Property

Property ID

Type

Value

PidTagAttachMethod ([MS-OXCMSG] section 2.2.2.9)

0x3705

0x0003 (PtypInteger32)

0x00000005 (afEmbeddedMessage)

PidTagRenderingPosition ([MS-OXCMSG] section 2.2.2.16)

0x370B

0x0003 (PtypInteger32)

0xFFFFFFFF

PidTagAttachmentHidden ([MS-OXCMSG] section 2.2.2.24)

0x7FFE

0x000B (PtypBoolean)

0x01

The client acquires the handle to the Embedded Message object within the Attachment object by using the RopOpenEmbeddedMessage ROP ([MS-OXCROPS] section 2.2.6.16), which can be used as a Task object. The client sets the properties that it wants for this Task object or copies them from a local Task object by using the RopSetProperties ROP.

Property

Property ID

Type

Value

PidTagMessageClass

0x001A

0x001F (PtypString)

"IPM.Task"

PidTagIconIndex

0x1080

0x0003 (PtypInteger32)

0x00000503 (assigner's task)

PidLidTaskComplete (section 2.2.2.2.20)

0x8149

0x000B (PtypBoolean)

0x00

PidLidPercentComplete (section 2.2.2.2.3)

0x8147

0x0005 (PtypFloating64)

0.0

PidLidTaskStatus (section 2.2.2.2.2)

0x8146

0x0003 (PtypInteger32)

0 (Not started)

PidLidTaskActualEffort (section 2.2.2.2.11)

0x814D

0x0003 (PtypInteger32)

0

PidLidTaskEstimatedEffort (section 2.2.2.2.12)

0x814E

0x0003 (PtypInteger32)

0

PidLidTaskUpdates (section 2.2.2.2.19)

0x82C3

0x000B (PtypBoolean)

0x01

PidLidTaskStatusOnComplete (section 2.2.2.2.17)

0x82C4

0x000B (PtypBoolean)

0x01

PidLidTaskFFixOffline (section 2.2.2.2.31)

0x8156

0x000B (PtypBoolean)

0x00

PidLidTaskOwnership (section 2.2.2.2.29)

0x8154

0x0003 (PtypInteger32)

1 (assigner's copy)

PidLidTaskAcceptanceState (section 2.2.2.2.30)

0x8151

0x0003 (PtypInteger32)

1 (unknown)

PidLidTaskState (section 2.2.2.2.14)

0x8148

0x0003 (PtypInteger32)

3 (assigner's copy)

PidLidTaskOrdinal (section 2.2.2.2.26)

0x815D

0x0003 (PtypInteger32)

-1000

PidLidTaskHistory (section 2.2.2.2.18)

0x8150

0x0003 (PtypInteger32)

0x00000005 (sent with a task request)

PidLidTaskLastUpdate (section 2.2.2.2.10)

0x8153

0x0040 (PtypTime)

2008/02/19 07:00

PidLidTaskLastUser (section 2.2.2.2.25)

0x8152

0x001F (PtypString)

"Mary Kay Andersen"

PidLidTaskLastDelegate (section 2.2.2.2.27)

0x82C5

0x001F (PtypString)

"Mary Kay Andersen"

PidLidTaskVersion (section 2.2.2.2.13)

0x8158

0x0003 (PtypInteger32)

2

PidLidTaskOwner (section 2.2.2.2.22)

0x801B

0x001F (PtypString)

"Paul West"

PidLidTaskFRecurring (section 2.2.2.2.28)

0x814B

0x000B (PtypBoolean)

0x00

PidLidTaskMode (section 2.2.3.2)

0x8212

0x0003 (PtypInteger32)

1 (embedded in a task request)

PidLidTaskGlobalId (section 2.2.2.2.32)

0x8211

0x0102 (PtypBinary)

0E B0 1E 03 85 02 EF 4B 9A 14 50 83 B3 BB 4D E9

The client then sets other Attachment object properties, as described in [MS-OXCMSG].

The client saves and closes the Embedded Message object by using, in order, the following operations: RopSaveChangesMessage ([MS-OXCROPS] section 2.2.6.3) with the handle to the embedded Task object, RopSaveChangesAttachment ([MS-OXCROPS] section 2.2.6.15) with the handle to the Attachment object, RopRelease ([MS-OXCROPS] section 2.2.15.3) with the handle to the embedded Task object, and RopRelease with the handle to the Attachment object.

The client uses the RopModifyRecipients ROP ([MS-OXCROPS] section 2.2.6.5) to add Paul's recipient information to the task request.

When Mary is ready to send her task request, the client uses the RopSetProperties ROP to commit the properties to the server, the RopSubmitMessage ROP ([MS-OXCROPS] section 2.2.7.1) to send it, and then the RopRelease ROP to release the task request object.