Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

3.11 Sample TC

Office

The following is a binary dump of a TC (section 2.3.4), which is small enough to be self-contained in a data block (that is, not subnode) to keep things simple. Because of the complexity of the TC, a number of decorations are used to represent the different constructs in the binary data.

A TC is constructed on top of an HN structure, which is shown following by the 32 bytes from the beginning and end of the data.

0000000000004A00  BC 01 EC 7C 40 00 00 00-00 00 00 00 
…
…
                                                      07 00 00 00  *.d.e.r. .2......*
0000000000004BC0  0C 00 14 00 92 00 AA 00-4F 01 7D 01 93 01 BB 01  *........O.}.....*

The hidUserRoot of the HN points to the TCINFO structure (section 2.3.4.1), which is at HID 0x40 and indicated by the underlined bytes. In this example, the TC contains 0x0D columns (cCols=0x0D), and contains an embedded BTH (RowIndex, section 2.3.4.3) at HID 0x20. The Row Matrix (actual row data, section 2.3.4.4) is found at HID 0x80. The items that are shown following represent the TCOLDESC structures that describe each of the columns in the TC (section 2.3.4.2).

                                                02 01 30 0E 14 00  *............0...*
0000000000004A30  04 06 14 00 33 0E 18 00-08 07 02 01 34 0E 20 00  *....3.......4. .*
0000000000004A40  04 08 03 00 38 0E 24 00-04 09 1F 00 01 30 08 00  *....8.$......0..*
0000000000004A50  04 02 03 00 02 36 0C 00-04 03 03 00 03 36 10 00  *.....6.......6..*
0000000000004A60  04 04 0B 00 0A 36 34 00-01 05 1F 00 13 36 28 00  *.....64......6(.*
0000000000004A70  04 0A 03 00 35 66 2C 00-04 0B 03 00 36 66 30 00  *....5f,.....6f0.*
0000000000004A80  04 0C 03 00 F2 67 00 00-04 00 03 00 F3 67 04 00  *.....g.......g..*
0000000000004A90  04 01

The two following pieces of data collectively make up the RowIndex, which associate each row in the TC with the corresponding NID of the item it refers to.

                                                                       B5 04 04 00  *...|@...........*
0000000000004A10  60 00 00 00
…
…
                                         23 22 00 00 02 00-00 00 22 80 00 00 00 00  *..#"......".....*
0000000000004AA0  00 00 42 80 00 00 01 00-00 00                                   

Finally, the following data constitutes the Row Matrix. The remaining, undecorated data near the end are additional allocations off the HN to store variable-size property data in the Row Matrix.

                                                22 80 00 00 0E 00  *..B.......".....*
0000000000004AB0  00 00 A0 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004AC0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004AD0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 01 FC  *................*
0000000000004AE0  00 42 80 00 00 06 00 00-00 C0 00 00 00 00 00 00  *.B..............*
0000000000004AF0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B00  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B10  00 00 00 00 00 00 FC 00-23 22 00 00 0B 00 00 00  *........#"......*
0000000000004B20  E0 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B30  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B40  00 00 00 00 00 00 00 00-00 00 00 00 00 FC 00 54  *...............T*

For those interested in deciphering the data contained in this TC, refer to the Hierarchy TC in the next example to view the parsed content.

0000000000004A00  BC 01 EC 7C 40 00 00 00-00 00 00 00 B5 04 04 00  *...|@...........*
0000000000004A10  60 00 00 00 7C 0D 34 00-34 00 35 00 37 00 20 00  *`...|.4.4.5.7. .*
0000000000004A20  00 00 80 00 00 00 00 00-00 00 02 01 30 0E 14 00  *............0...*
0000000000004A30  04 06 14 00 33 0E 18 00-08 07 02 01 34 0E 20 00  *....3.......4. .*
0000000000004A40  04 08 03 00 38 0E 24 00-04 09 1F 00 01 30 08 00  *....8.$......0..*
0000000000004A50  04 02 03 00 02 36 0C 00-04 03 03 00 03 36 10 00  *.....6.......6..*
0000000000004A60  04 04 0B 00 0A 36 34 00-01 05 1F 00 13 36 28 00  *.....64......6(.*
0000000000004A70  04 0A 03 00 35 66 2C 00-04 0B 03 00 36 66 30 00  *....5f,.....6f0.*
0000000000004A80  04 0C 03 00 F2 67 00 00-04 00 03 00 F3 67 04 00  *.....g.......g..*
0000000000004A90  04 01 23 22 00 00 02 00-00 00 22 80 00 00 00 00  *..#"......".....*
0000000000004AA0  00 00 42 80 00 00 01 00-00 00 22 80 00 00 0E 00  *..B.......".....*
0000000000004AB0  00 00 A0 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004AC0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004AD0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 01 FC  *................*
0000000000004AE0  00 42 80 00 00 06 00 00-00 C0 00 00 00 00 00 00  *.B..............*
0000000000004AF0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B00  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B10  00 00 00 00 00 00 FC 00-23 22 00 00 0B 00 00 00  *........#"......*
0000000000004B20  E0 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B30  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
0000000000004B40  00 00 00 00 00 00 00 00-00 00 00 00 00 FC 00 54  *...............T*
0000000000004B50  00 6F 00 70 00 20 00 6F-00 66 00 20 00 50 00 65  *.o.p. .o.f. .P.e*
0000000000004B60  00 72 00 73 00 6F 00 6E-00 61 00 6C 00 20 00 46  *.r.s.o.n.a.l. .F*
0000000000004B70  00 6F 00 6C 00 64 00 65-00 72 00 73 00 53 00 65  *.o.l.d.e.r.s.S.e*
0000000000004B80  00 61 00 72 00 63 00 68-00 20 00 52 00 6F 00 6F  *.a.r.c.h. .R.o.o*
0000000000004B90  00 74 00 53 00 50 00 41-00 4D 00 20 00 53 00 65  *.t.S.P.A.M. .S.e*
0000000000004BA0  00 61 00 72 00 63 00 68-00 20 00 46 00 6F 00 6C  *.a.r.c.h. .F.o.l*
0000000000004BB0  00 64 00 65 00 72 00 20-00 32 00 00 07 00 00 00  *.d.e.r. .2......*
0000000000004BC0  0C 00 14 00 92 00 AA 00-4F 01 7D 01 93 01 BB 01  *........O.}.....*
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.