Microsoft Office Binary File Format Validator Log File

Office 2010
[This is prerelease documentation and is subject to change in future releases.]

Last modified: June 23, 2011

Applies to: Excel | Office 2007 | Office client | PowerPoint | Word

Each validation run of the Microsoft Office Binary File Format Validator Beta produces a detailed log file that contains either validation pass or fail information.

When the validation of a file passes, the log file contains the following information:

  • A result key that indicates that the file passed validation.

  • The location of the file that was validated if a non-default location was specified on the command prompt.

  • The name of the file that was validated.

  • The date and time the validation completed.

When the validation of a file fails because of a file format error, the log file contains the following information:

  • A result key that indicates that the file failed validation

  • The location of the file that was validated if a non-default location was specified on the command prompt.

  • The name of the file that was validated.

  • Format discovery information. For example, if a file has a .ppt extension, it might instead be written in a Word binary file format. You can determine the binary file format that is used by examining the value of the docName attribute.

    NoteNote

    If the file passes validation but the format does not match the file name extension, this information is not available.

  • The date and time that the validation completed.

  • Offset information that includes the last read data of the offset where the validation failure occurred.

  • Stream name for each entry, until the failure occurs, in the parse stack.

  • Augmented Backus-Naur Form (ABNF) failure information, when it is relevant.

  • HTTP link that points to the relevant section of open specification documentation.

  • Open specification documentation short name, section title, and section number.

  • The data in the file that caused the failure character data, when this information is available.

Validation Log File Format

The log file is written in XML format by using a set of elements and attributes listed in the following table. The attributes are described within the topic that describes the element they belong to.

Element

Attributes, if any

Child elements, if any

BFFValidation Element

  • datetime

  • result

  • path

  • reason

ParseStack Element

ABNFFailure Element

  • docName

  • sectionTitle

  • msdnLink

Token Element

  • tokenId

  • hexTokenId

  • tokenName

Type Element (BFFValidator)

  • builtinType

  • docName

  • sectionTitle

  • sectionNumber

  • msdnLink

  • storageName

  • streamName

  • bitfield

  • bitOffsetWithinStruct

  • hexBitOffsetWithinStruct

  • streamOffsetOfStruct

  • hexStreamOffsetOfStruct

  • bitCount

  • streamOffset

  • hexStreamOffset

  • childId

  • hexChildId

Info Element

LastData Element

The following example shows a log-file for a .ppt file that has failed validation. Note that the file is stream-based, and the start of the stream is taken to be at offset 0.

<BFFValidation path="C:\users\Alice\Sample1_Failing.ppt" datetime="01/25/11 10:44:35" result="FAILED">
  <ParseStack>
    <Type builtinType="Docfile" docName="MS-PPT" sectionTitle="Streams and Storages" msdnLink="http://msdn.microsoft.com/en-us/library/dd945780(v=office.12).aspx">
      <Info>Built-in type "Docfile": The root storage object of an OLE compound file. For more information, see http://msdn.microsoft.com/en-us/library/dd942138.aspx.</Info>
    </Type>
    <Type builtinType="Stream" docName="MS-PPT" sectionTitle="Streams and Storages" msdnLink="http://msdn.microsoft.com/en-us/library/dd945780(v=office.12).aspx" streamName="Current User" streamOffset="0" hexStreamOffset="0x0">
      <Info>Built-in type "Stream": Any stream object for OLE compound files. The entire file contents for other files.</Info>
    </Type>
    <Type docName="MS-PPT" sectionTitle="CurrentUserAtom" sectionNumber="2.3.2" msdnLink="http://msdn.microsoft.com/en-us/library/940D5700-E4D7-4FC0-AB48-FED5DBC48BC1" streamName="Current User" streamOffset="0" hexStreamOffset="0x0"/>
    <Type docName="MS-PPT" sectionTitle="DocumentContainer" sectionNumber="2.4.1" msdnLink="http://msdn.microsoft.com/en-us/library/6254C4D1-5217-4E16-B20D-C04DDCCE31C9" streamName="PowerPoint Document" streamOffset="0" hexStreamOffset="0x0"/>
    <Type docName="MS-PPT" sectionTitle="SlideListWithTextContainer" sectionNumber="2.4.14.3" msdnLink="http://msdn.microsoft.com/en-us/library/307E6D12-7304-47A8-ACBD-3E7B8041AD3C" streamName="PowerPoint Document" streamOffset="1182" hexStreamOffset="0x49e"/>
    <Type docName="MS-PPT" sectionTitle="SlideListWithTextSubContainerOrAtom" sectionNumber="2.4.14.4" msdnLink="http://msdn.microsoft.com/en-us/library/FC198575-E6FC-420F-8693-6714469EB710" streamName="PowerPoint Document" streamOffset="1190" hexStreamOffset="0x4a6"/>
    <Type docName="MS-PPT" sectionTitle="SlidePersistAtom" sectionNumber="2.4.14.5" msdnLink="http://msdn.microsoft.com/en-us/library/48DCE412-9692-4F93-AEB7-3D9FDD3A0A5A" streamName="PowerPoint Document" streamOffset="1190" hexStreamOffset="0x4a6"/>
    <Type docName="MS-PPT" sectionTitle="SlideContainer" sectionNumber="2.5.1" msdnLink="http://msdn.microsoft.com/en-us/library/4CAC0976-73D0-4AB3-A70B-E98B3CF1C312" streamName="PowerPoint Document" streamOffset="35647" hexStreamOffset="0x8b3f"/>
    <Type docName="MS-PPT" sectionTitle="SlideProgTagsContainer" sectionNumber="2.5.19" msdnLink="http://msdn.microsoft.com/en-us/library/C2263E42-180E-4249-BD93-A421EFD8719B" streamName="PowerPoint Document" streamOffset="37196" hexStreamOffset="0x914c"/>
    <Type docName="MS-PPT" sectionTitle="SlideProgTagsSubContainerOrAtom" sectionNumber="2.5.20" msdnLink="http://msdn.microsoft.com/en-us/library/2BC67516-D5AB-4D9D-8676-1A825C64C2A8" streamName="PowerPoint Document" streamOffset="37204" hexStreamOffset="0x9154"/>
    <Type docName="MS-PPT" sectionTitle="SlideProgBinaryTagContainer" sectionNumber="2.5.21" msdnLink="http://msdn.microsoft.com/en-us/library/E25EB8D2-627E-4104-B293-FC8ED82A098C" streamName="PowerPoint Document" streamOffset="37204" hexStreamOffset="0x9154"/>
    <Type docName="MS-PPT" sectionTitle="SlideProgBinaryTagSubContainerOrAtom" sectionNumber="2.5.22" msdnLink="http://msdn.microsoft.com/en-us/library/AC9AA6BD-3C15-49BD-81D9-5B8BFD966053" streamName="PowerPoint Document" streamOffset="37212" hexStreamOffset="0x915c"/>
    <Type docName="MS-PPT" sectionTitle="PP10SlideBinaryTagExtension" sectionNumber="2.5.24" msdnLink="http://msdn.microsoft.com/en-us/library/CCB82F60-E1AE-4379-B1E0-00909BB70B17" streamName="PowerPoint Document" streamOffset="37212" hexStreamOffset="0x915c"/>
    <Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer" sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint Document" streamOffset="37256" hexStreamOffset="0x9188"/>
    <Type builtinType="BLOB" streamName="PowerPoint Document" streamOffset="37325" hexStreamOffset="0x91cd">
      <Info>Built-in type "BLOB": Binary data of any length with no further definition. The size of the data can be zero.</Info>
    </Type>
    <Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer" sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint Document" streamOffset="37325" hexStreamOffset="0x91cd"/>
    <Type builtinType="BLOB" streamName="PowerPoint Document" streamOffset="104277" hexStreamOffset="0x19755">
      <Info>Built-in type "BLOB": Binary data of any length with no further definition. The size of the data can be zero.</Info>
    </Type>
    <Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer" sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint Document" streamOffset="104277" hexStreamOffset="0x19755"/>
    <Type builtinType="BLOB" streamName="PowerPoint Document" streamOffset="104365" hexStreamOffset="0x197ad">
      <Info>Built-in type "BLOB": Binary data of any length with no further definition. The size of the data can be zero.</Info>
    </Type>
    <Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer" sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint Document" streamOffset="104365" hexStreamOffset="0x197ad"/>
    <Type builtinType="BLOB" streamName="PowerPoint Document" streamOffset="104453" hexStreamOffset="0x19805">
      <Info>Built-in type "BLOB": Binary data of any length with no further definition. The size of the data can be zero.</Info>
    </Type>
    <Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer" sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint Document" streamOffset="104453" hexStreamOffset="0x19805"/>
    <Type builtinType="BLOB" streamName="PowerPoint Document" streamOffset="104890" hexStreamOffset="0x199ba">
      <Info>Built-in type "BLOB": Binary data of any length with no further definition. The size of the data can be zero.</Info>
    </Type>
    <Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer" sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint Document" streamOffset="104890" hexStreamOffset="0x199ba"/>
    <Type docName="MS-PPT" sectionTitle="TimeAnimateBehaviorContainer" sectionNumber="2.8.29" msdnLink="http://msdn.microsoft.com/en-us/library/BC65CD1C-14A7-4C0D-BC2D-192BAB64A713" streamName="PowerPoint Document" streamOffset="104946" hexStreamOffset="0x199f2"/>
    <Type docName="MS-PPT" sectionTitle="TimeBehaviorContainer" sectionNumber="2.8.34" msdnLink="http://msdn.microsoft.com/en-us/library/8D75CC5B-6F80-4B2E-980B-A521E2691E54" streamName="PowerPoint Document" streamOffset="105094" hexStreamOffset="0x19a86"/>
    <Type docName="MS-PPT" sectionTitle="TimePropertyList4TimeBehavior" sectionNumber="2.8.37" msdnLink="http://msdn.microsoft.com/en-us/library/51C4CC59-2D58-4AC9-8B25-4ABC1040780D" streamName="PowerPoint Document" streamOffset="105167" hexStreamOffset="0x19acf"/>
    <Type docName="MS-PPT" sectionTitle="TimeVariant4Behavior" sectionNumber="2.8.38" msdnLink="http://msdn.microsoft.com/en-us/library/758F2315-8EF7-4F1D-81DA-41ED4AB6683A" streamName="PowerPoint Document" streamOffset="105175" hexStreamOffset="0x19ad7"/>
    <Type docName="MS-PPT" sectionTitle="TimeOverride" sectionNumber="2.8.41" msdnLink="http://msdn.microsoft.com/en-us/library/20CE9A31-8EAA-4A42-B957-B9111BE76B2C" streamName="PowerPoint Document" streamOffset="105175" hexStreamOffset="0x19ad7"/>
    <Type builtinType="LONG" streamName="PowerPoint Document" streamOffset="105184" hexStreamOffset="0x19ae0" childId="3" hexChildId="0x3">
      <Info>Built-in type "LONG": Signed 4-byte integer.</Info>
    </Type>
  </ParseStack>
  <LastData><![CDATA[
00 00 00 00 -- -- -- --  -- -- -- -- -- -- -- --  ....
]]></LastData>
</BFFValidation>
Show: