Export (0) Print
Expand All

2.7 Compound File User-Defined Data Sectors

Stream sectors are simply collections of arbitrary bytes. They are the building blocks of user-defined data streams, and no restrictions are imposed on their contents. User-defined data sectors are represented as chains in the FAT or mini FAT, and each chain MUST have a single directory entry associated with it to hold its stream object metadata, such as its name and size.


Figure 15: Example of a user-defined data sector chain

In the example above with sector #0 through sector #8 shown, a user-defined data sector chain starts at sector #7, continues to sector #1, continues to sector #3, and ends with sector #5. The next sector location for sector #5 points to ENDOFCHAIN (0xFFFFFFFE).

To hold all of the user-defined data, the length of the user-defined data sector chain MUST be greater than or equal to the stream size specified in the stream object's directory entry. The unused portion of the last sector of a stream object's user-defined data SHOULD be filled with zeroes to avoid leaking unintended information.

© 2014 Microsoft