... rgbFP (128 bytes) ... bSentinel bCryptMethod rgbReserved bidNextB dwCRCFull rgbReserved2 bReserved rgbReserved3 (32 ... ANSI: 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 dwMagic dwCRCPartial wMagicClient wVer wVerClient bPlatformCreate bPlatformAccess dwReserved1 dwReserved2 bidNextB bidNextP
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 btkey BREF ... btkey (Unicode: 8 bytes; ANSI: 4 bytes): The key value associated with this BTENTRY. All the entries in the child BTPAGE referenced by BREF have key values greater than or equal to this key value. The btkey is either an NID (zero extended to 8 bytes for Unicode PSTs) or a BID, depending on the ptype of the page. BREF (Unicode: 16 ANSI: 8 bytes): BREF structure (section ) that points to the child BTPAGE. BBTENTRY (Leaf BBT BBTENTRY records contain information about blocks and are found in BTPAGES with cLevel equal to 0, with the ptype of "ptypeBBT". These are the leaf entries of the BBT. As noted in section , these structures MAY NOT be tightly packed and the cbEnt field of the BTPAGE SHOULD be used to iterate over the entries. Unicode: 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 BREF (16 bytes) ... cb cRef dwPadding ANSI: 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 BREF ... cb cRef
Required An existing TC (section ). See requirements for sections , , and (if applicable). The TCINFO (section ) MUST be updated to account for the new column. A new TCOLDESC structure (section ) MUST be added for the new column. Each row in the Row Matrix needs to be widened to add an data slot for the new column. It the CEB runs out of unused bits, then the CEB for each row MUST grow to accommodate the new column. The CEB for each row MUST also be updated to indicate that the new column is "non-existent". Recommended None. Optional None. Possible side effects: See sections , , , and , where applicable. When setting up the new TCOLDESC structure, special care MUST be given when assigning the iBit fields to ensure the proper ordering of the columns based on the column data size (section ). It is also important to re-assign the iBit fields of any other TCOLDESC structure that is shifted as a result of inserting the new column. Also refer to section for the rules regarding setting the cbData field of TCOLDESC, noting the use of HNIDs for variable-size data or fixed-size data that exceeds 8 bytes. Deleting the Value of a Column Deleting the value of a column refers to setting the value of a column in a particular Table Row as "non-existent". This is done by setting the Cell Existence bit (CEB) that corresponds to that column in the row data to "0". This is a particular case of modifying contents of a Table Row. Requirement level Actions Required An existing TC (section ). See section . Recommended None. Optional None. Possible side effects: See sections and . Deleting a Column Deleting an existing column in a Table Context. Implementations SHOULD NOT delete existing columns in a Table Context. Deleting a Row Deleting an existing Row from a Table Context. This involves deleting an entry from the embedded BTH (section ) and modifying other BTH entry values (section ), and re-allocating HN entries (sections , ) or modifying subnode entry data (section ), depending where the Row Matrix is stored. Requirement level Actions Required An existing TC (section ). See requirements for sections , , , , and (if applicable). Subsequent rows in the Row Matrix MUST be up to replace the gap caused by the deleted row.
Some important terms used in the change type descriptions are defined as follows: Protocol syntax refers to data elements (such as packets, structures, enumerations, and methods) as well as interfaces. Protocol revision refers to changes made to a protocol that affect the bits that are sent over the wire. The changes made to this document are listed in the following table. For more information, please contact . Section Tracking number (if applicable) and description Major change (Y or N) Change type Row Matrix Specified that each block except the last one MUST have a size of 8192 bytes. Y Content update. Crash Recovery and AMap Rebuilding Stated that Outlook 2013 does not use the AMap reubuild and the fAMapValid flag. Y New product behavior note added. Appendix B: Product Behavior Updated list of supported products. Y Content updated due to protocol revision.
A 59 15 77 62 56 18 16 81 Attachment objects 101 80 81 95 B 108 92 Behavior Descriptors 106 102 105 20 177 41 20 60 58 59 57 C Calculated properties 95 96 96 101 100 96 98 96 102 106 102 105 107 71 95 102 95 180 17 75 175 167 166 164 56 74 Data integrity, maintaining 118 126 107 108 115 84 15 17 17 106 15 Details 59 77 62 56 18 81 101 80 81 95 108 92 106 102 105 20 41 20 58 57 95 71 96 102 17 75 74 84 17 100 84 76 73 96 74 72 18 83 84 23 52 74
77 11 58 107 10 L 59 107 13 16 79 Logical architecture of a PST file 11 LTP 57 58 58 59 52 56 52 54 53 54 55 118 118 13 59 59 62 59 60 60 52 62 66 65 64 65 M Maintaining data integrity 118 126 107 108 115 107 135 71 79 Message objects 98 78 Message store 96 71 137 Messaging layer 80 81 81 82 72 77 75 74 76 73 74 74 78 77 126 78 79 79 79 71 71 71 72 82 84 84 83 84 83 84 126 13 70 71 70 70 86 92 94 93 93 86 89 70 69 13 136 137 Minimum PST requirements 135 136 137 137 137 139 137 135 71 60 N 70 82