Revision Summary Date Revision History Revision Class Comments 4/4/2008 0.1 New Initial Availability. 4/25/2008 0.2 Minor Revised and updated property and other technical content. 6/27/2008 1.0 Major Initial Release. 8/6/2008 1.01 Minor Revised and edited technical content. 9/3/2008 1.02 Minor Revised and edited technical content. 10/1/2008 1.03 Minor Revised and edited technical content. 12/3/2008 1.04 Updated IP notice. 4/10/2009 2.0 Major Updated technical content and applicable product releases. 7/15/2009 3.0 Major Revised and edited for technical content. 11/4/2009 4.0.0 Major Updated and revised the technical content. 2/10/2010 5.0.0 Updated and revised the technical content. 5/5/2010 6.0.0 Major Updated and revised the
technical content. 8/4/2010 7.0 Major Significantly changed the technical content. 11/3/2010 8.0 Major Significantly changed the technical content. 3/18/2011 9.0 Major Significantly changed the technical content. 8/5/2011 10.0 Major Significantly changed the technical content. 10/7/2011 11.0 Major Significantly changed the technical content. 1/20/2012 12.0 Major Significantly changed the technical content. 4/27/2012 13.0 Major Significantly changed the technical content. 7/16/2012 14.0 Major Significantly changed the technical content. 10/8/2012 15.0 Major Significantly changed the technical content. 2/11/2013 16.0 Major Significantly changed the technical content.
7/26/2013 17.0 Major Significantly changed the technical content. 11/18/2013 18.0 Major Significantly changed the technical content. 2/10/2014 18.0 None No changes to the meaning, language, or formatting of the technical content. 4/30/2014 19.0 Major Significantly changed the technical content. 7/31/2014 19.0 None No changes to the meaning, language, or formatting of the technical content. 10/30/2014 19.1 Clarified the meaning of the technical content. 3/16/2015 20.0 Major Significantly changed the technical content. 5/26/2015 21.0 Major Significantly changed the technical content. 9/14/2015 21.0 None No changes to the meaning, language, or formatting
0x00000000 0x00000001 body 0x00000002 compressed body 0x00000003 body 0x00000004 PidTagBodyHtml Property Type: PtypString ( section 2.11.1) The PidTagBodyHtml property ( section 2.612) contains the body as specified in section 2.3. PidTagRtfCompressed Property Type: PtypBinary ( section 2.11.1) The PidTagRtfCompressed property ( section 2.932) contains an body compressed as specified in . PidTagRtfInSync Property Type: PtypBoolean ( section 2.11.1) The PidTagRtfInSync property ( section 2.933) is set to "TRUE" (0x01) if the body has been synchronized with the contents in the PidTagBody property (section ). PidTagInternetCodepage Property Type: PtypInteger32 ( section 2.11.1) The PidTagInternetCodepage property ( section 2.737) indicates the used for the PidTagBody property (section ) or the PidTagBodyHtml property (section ). PidTagBodyContentId Property Type: PtypString ( section 2.11.1) The PidTagBodyContentId property ( section 2.610) contains a corresponding to the current . This property corresponds to the Content-ID . The relationship between this property and the Content-ID header is further specified in sections 2.1.3.4.2.3 and 2.2.3.2.24. PidTagBodyContentLocation Property Type: PtypString ( section 2.11.1) The PidTagBodyContentLocation property ( section 2.611) contains a globally unique that serves as a label for the current . The URI can be either absolute or relative. This property corresponds to the Content-Location . The relationship between this property and the Content-Location header is further specified in sections 2.1.3.4.2.3 and 2.2.3.2.26. The format of this property is further specified in .
RopCreateMessage ROP Request Buffer The following descriptions define valid fields for the request buffer of the RopCreateMessage ( section 2.2.6.2). CodePageId: 2 bytes specifying the with which the representation of the strings on this are to be encoded; a value of 0x0FFF means that the code page of the is used. FolderId: 8 bytes containing the FID ( section 2.2.1.1) for the in which the Message object is to be created. AssociatedFlag: 1 byte Boolean value. Meaning 0x00 Is not an message. Nonzero Is an FAI message. RopCreateMessage ROP Response Buffer The following descriptions define valid fields for the response buffer of the RopCreateMessage ( section 2.2.6.2). HasMessageId: 1 byte. Value Meaning 0x00 This is the last byte in the buffer. Nonzero The MessageId field follows beginning with the next byte in the buffer. MessageId: 8 bytes containing the MID ( section 2.2.1.2) for the newly created . RopSaveChangesMessage ROP The RopSaveChangesMessage ( section 2.2.6.3) commits the changes made to the . For this ROP, the value of the ResponseHandleIndex field references the containing or, for an embedded message, the . The value of the InputHandleIndex field references a Message object. The complete syntax of the ROP request and response buffers for this ROP is specified in This section specifies the syntax and semantics of various fields that are not fully specified in [MS-OXCROPS]. RopSaveChangesMessage ROP Request Buffer The following descriptions define valid fields for the request buffer of the RopSaveChangesMessage ( section 2.2.6.3). SaveFlags: 1 byte indicating the server save behavior; this field MUST be set to one of the flags specified in the following table. Other flags are not valid and are ignored by the server.
Property name Initial data PidTagImportance (section ) 0x00000001 PidTagMessageClass (section ) "IPM.Note" PidTagSensitivity (section ) 0x00000000 PidTagDisplayBcc ( section 2.2.1.7) "" PidTagDisplayCc section 2.2.1.8) "" PidTagDisplayTo section 2.2.1.9) "" PidTagMessageFlags (section ) 0x00000009; will be 0x00000409 (the mfEverRead flag combined by using the bitwise OR operation with the value 0x00000009) if the client does not explicitly set the read state.<22> PidTagMessageSize (section ) See the PidTagMessageSize property in section 2.2.1.7 PidTagHasAttachments (section ) 0x00 PidTagTrustSender (section ) 0x00000001 PidTagAccess ( section 2.2.1.1) 0x00000003<23> PidTagAccessLevel section 2.2.1.2) 0x00000001 PidTagCreationTime (section ) The time the RopCreateMessage ROP ([MS-OXCROPS] section 2.2.6.2) was processed PidTagLastModificationTime (section ) Same as the PidTagCreationTime property PidTagSearchKey section 2.2.1.9) Server generated PidTagMessageLocaleId (section ) The LocaleID. PidTagCreatorName ( section 2.647) Name of the creator. PidTagCreatorEntryId (section ) of the creator
Releasing Attachment Object Finally, the client releases the by using the RopRelease ( section 2.2.15.3). Attach Text File The client first creates the on the and then sets its properties and commits the changes. RopCreateAttachment Request Buffer 0000:23 00 00 03 0x23 LogonId: 0x00 InputHandleIndex: 0x00 OutputHandleIndex: 0x03 RopCreateAttachment Response Buffer 0000: 23 03 00 00 00 00 01 00-00 00 0x23 OutputHandleIndex: 0x03 ReturnValue: 0x00000000 AttachmentID: 0x00000001 Setting Properties At this point the client uses the RopSetProperties ( section 2.2.8.6) as described in section 2.2.5 to set properties on the . Property tag Property name Data 0x37050003 PidTagAttachMethod (section ) "0x00000001" 0x370B0003 PidTagRenderingPosition (section ) "0xFFFFFFFF" 0x7FFD0003 PidTagAttachmentFlags (section ) "0x00000000" 0x3001001F PidTagDisplayName (section ) "test.txt" 0x7FFA0003 PidTagAttachmentLinkId (section ) "0x00000000" 0x37140003 PidTagAttachFlags (section ) "0x00000000" 0x7FFE000B PidTagAttachmentHidden (section ) "0x00"
59 31 Create message example 72 72 72 D Data model - abstract 54 60 E Examples 72 79 77 Examples – add recipients 77 79 Examples – attach text file 75 77 75 75 76 76 75 Examples - create message 72 72 72 Examples – get attachment table 72 72 73 Examples – insert HTML embedded image 73 73 73 74 74 73 Examples – save message 79 79 79 F 16 17 G 34 18 Get attachment table example 72 72 73 Global abstract data model type 54 61 10 H triggered events 61 triggered events - client 56 55 55 56 56 56 55 57 55 56 56 55 55 55 56 55 56 56 55 55 I 80 80 15 Initialization 54 61 Insert HTML embedded example 73 73 73 74 74 73 10 M 16 Message object properties 29 31 18 25 24 24 24 24 23 23 26 26 24 22 22
22 27 26 28 28 23 25 26 24 24 25 28 18 26 21 24 25 28 28 19 19 PidTagMessageFlags property ( 19, 39, 39) 19 28 20 20 25 21 21 27 29 29 29 26 26 26 22 27 27 21 25 27 32 Message object ROPs 50 42 50 52 47 53 45 49 51 41 45 46 44 51 43 49 46 48 40 Message processing - client 59 57 60 58 60 58 59 60 57 58 58 60 57 58 59 59 Message processing - server 69 62 70 70 67 65 68 70 62 66 66 64 69 64 68 66 67 16 18 Messages 16 16 40 16 18 40 N 72 14 O Other local events 60 71 Overview 16 16 P 80 Per mailbox abstract data model type 54 61 Per Message object abstract data type 54
57 58 58 60 57 58 59 59 Sequencing rules - server 69 62 70 70 67 65 68 70 62 66 66 64 69 64 68 66 67 Server 60 61 61 71 71 61 Server - abstract data types 61 61 61 Server - message processing 69 62 70 70 67 65 68 70 62 66 66 64 69 64 68 66 67 Server - sequencing rules 69 62 70 70 67 65 68 70 62 66 66 64 69 64 68 66 67 77 17 T Timer events 60 71 Timers 54 61 84 18 Triggered events - client 56 55 55 56 56 56 55 57 55 56 56 55 55 55 56 55 56 56 55 55 Triggered events - higher-layer 61 V 17 17